ID: 46614 Updated by: [email protected] Reported By: sander dot vink at procurios dot nl -Status: Assigned +Status: Closed Bug Type: MySQLi related Operating System: * PHP Version: 5.3CVS-2008-11-19 (snap) Assigned To: mysql New Comment:
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 Previous Comments: ------------------------------------------------------------------------ [2009-08-27 12:41:14] [email protected] 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 ------------------------------------------------------------------------ [2008-11-21 13:05:31] [email protected] Ah, I tested with PHP 5.2CVS and it works as expected. So this is PHP_5_3 (and propably HEAD) issue only. ------------------------------------------------------------------------ [2008-11-20 08:14:13] 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-19 23:12:58] [email protected] You set $this->fooData[]to contain 'Bar' -> it's not empty -> returns true..what's the bug..? ------------------------------------------------------------------------ [2008-11-19 13:25:11] 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) ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=46614&edit=1
