ID: 49027 Updated by: ka...@php.net Reported By: andreas dot streichardt at globalpark dot com -Status: Open +Status: Verified Bug Type: MySQLi related Operating System: Linux PHP Version: 5.3.0 -Assigned To: +Assigned To: mysql New Comment:
The INIT_COMMAND is currently not supported by mysqlnd, along with a bunch of other options, see ext/mysqlnd/mysqlnd.c. Leaving this with the mysql guys Previous Comments: ------------------------------------------------------------------------ [2009-07-23 09:07:38] andreas dot streichardt at globalpark dot com Description: ------------ mysqli_real_connect() doesn't honor init commands previously set with mysqli_options($x,MYSQLI_INIT_COMMAND) when using the mysqlnd driver. I am not sure if this is simply a missing feature or a bug. At least this is a documentation problem as it isn't noted anywhere. Ideally if this is not a bug mysqli_options should return false so one notices that it isn't supported yet. This problem only appears when using mysqlnd as the driver. mysql> SELECT version(); +----------------+ | version() | +----------------+ | 5.4.1-beta-log | +----------------+ But i don't think this is related to the database version, is it? Reproduce code: --------------- $handle=mysqli_init(); if (!mysqli_options($handle,MYSQLI_INIT_COMMAND,"testtest")) print "Broken!\n"; if (!...@mysqli_real_connect($handle,"localhost","root","","test",3306)) print "Connection broken!\n"; Expected result: ---------------- Connection broken! (testtest is not a valid query) If the general log is activated you should see the query in the log Actual result: -------------- blank output (database connection was successful - assuming that the credentials provided in the connection string work). no "testtest" query in the general log ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=49027&edit=1