ID: 29596 Updated by: [EMAIL PROTECTED] Reported By: kinder at wxs dot nl -Status: Open +Status: Bogus Bug Type: Class/Object related Operating System: Windows XP PHP Version: 5.0.0 New Comment:
Thank you for taking the time to write to us, but this is not a bug. Please double-check the documentation available at http://www.php.net/manual/ and the instructions on how to report a bug at http://bugs.php.net/how-to-report.php You have to override mysqli's default constructor with function __construct inside your extended class. See http://www.php.net/manual/en/language.oop5.decon.php Previous Comments: ------------------------------------------------------------------------ [2004-08-10 09:56:06] kinder at wxs dot nl Description: ------------ I've posted this problem to the php.db mailinglist, as well as asked in three different php-related irc-channels, in which no-one could explain this behaviour. Although I haven't been able to reproduce this problem on another machine (none available), I suspect it to be a bug. ----- I'm running php5.0.0 with mysqli extention as a Apache2 module on a Windows XP box. I've tested the database by querying it with mysqli (procedural) and results are coming back just fine. This makes me believe that the mysqli-extention is working properly. Running this code (see 'reproduce code'), you would expect an output like "xconstructorytest" however, I'm getting "xy" (the private member $somevar isn't set and/or read). No reported errors or warnings. Changing the line that says class database_foobar extends mysqli to class database_foobar gets me the expected result of "xconstructorytest". Somehow, making the class an extention of mysqli, seems to interfere with calling the $somevar member. Reproduce code: --------------- error_reporting(E_ALL); class database_foobar extends mysqli { private $somevar; function database_foobar() { $this->somevar = "constructor"; echo "x"; echo $this->somevar; } function test() { $this->somevar = "test"; echo "y"; echo $this->somevar; } } $foo = new database_foobar(); $foo->test(); Expected result: ---------------- xconstructorytest Actual result: -------------- xy ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=29596&edit=1
