|  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #49029 mysqli_options doesn't work when using mysqlnd
Submitted: 2009-07-23 09:08 UTC Modified: 2009-07-23 09:12 UTC
From: andreas dot streichardt at globalpark dot com Assigned:
Status: Not a bug Package: MySQLi related
PHP Version: 5.3.0 OS: Linux
Private report: No CVE-ID: None
 [2009-07-23 09:08 UTC] andreas dot streichardt at globalpark dot com
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:
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


Add a Patch

Pull Requests

Add a Pull Request


AllCommentsChangesGit/SVN commitsRelated reports
 [2009-07-23 09:12 UTC]
Please do not submit the same bug more than once. An existing
bug report already describes this very problem. Even if you feel
that your issue is somewhat different, the resolution is likely
to be the same. 

Thank you for your interest in PHP.

PHP Copyright © 2001-2022 The PHP Group
All rights reserved.
Last updated: Wed Dec 07 23:05:54 2022 UTC