php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #46614 Extended MySQLi class gives incorrect empty() result (works in PHP_5_2 !)
Submitted: 2008-11-19 13:25 UTC Modified: 2009-08-27 12:42 UTC
Votes:2
Avg. Score:4.0 ± 1.0
Reproduced:0 of 0 (0.0%)
From: sander dot vink at procurios dot nl Assigned: mysql (profile)
Status: Closed Package: MySQLi related
PHP Version: 5.3CVS-2008-11-19 (snap) OS: *
Private report: No CVE-ID: None
Welcome back! If you're the original bug submitter, here's where you can edit the bug or add additional notes.
If you forgot your password, you can retrieve your password here.
Password:
Status:
Package:
Bug Type:
Summary:
From: sander dot vink at procurios dot nl
New email:
PHP Version: OS:

 

 [2008-11-19 13:25 UTC] sander dot vink at procurios dot nl
Description:
------------
When an empty() call is done within a class that extends the MySQLi class, an incorrect result is provided.

Reproduce code:
---------------
class Foo extends MySQLi
{
	protected $fooData = array();
	
	public function isEmpty()
	{
		$this->fooData[] = 'Bar';
		return empty($this->fooData);
	}
}

$Foo = new Foo('localhost', 'root', '', 'test');
$isEmpty = $Foo->isEmpty();

var_dump($isEmpty);

Expected result:
----------------
bool(false)

Actual result:
--------------
bool(true)

Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2008-11-19 23:12 UTC] jani@php.net
You set $this->fooData[]to contain 'Bar' -> it's not empty -> returns 
true..what's the bug..?
 [2008-11-20 08:14 UTC] sander dot vink at procurios dot nl
Yes, exactly, it is not empty. However, I return the result of empty() ( not !empty() ) which should be false, since the array actually contains data.
 [2008-11-21 13:05 UTC] jani@php.net
Ah, I tested with PHP 5.2CVS and it works as expected. So this is PHP_5_3 (and propably HEAD) issue only.
 [2009-08-27 12:41 UTC] svn@php.net
Automatic comment from SVN on behalf of andrey
Revision: http://svn.php.net/viewvc/?view=revision&revision=287806
Log: Fix for bug#46614 Extended MySQLi class gives incorrect empty() result
 [2009-08-27 12:42 UTC] andrey@php.net
This bug has been fixed in SVN.

Snapshots of the sources are packaged every three hours; this change
will be in the next snapshot. You can grab the snapshot at
http://snaps.php.net/.
 
Thank you for the report, and for helping us make PHP better.

The fix will be in 5.3.1
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Thu Nov 21 13:01:29 2024 UTC