From:             talmage dot news at gmail dot com
Operating system: Centos 5
PHP version:      5.2.6
PHP Bug Type:     MySQLi related
Bug description:  MySQLI OO does not populate connect_error property on failed 
connect

Description:
------------
The documentation at:

http://us.php.net/manual/en/mysqli.connect.php

Provides an example for the OO method of constructing a MySQLI instance
and checking for error.

However, when testing this example and forcing an error the output is not
as the documentation describes (which as documented is the way I would
expect the OO library to behave.)


I first noticed this behavior on a PHP 5.2.3 install on my Centos server.
I then tried the same thing on a Debian box on 5.2.3 and received the same
unexpected behavior.


I then downloaded and compiled PHP 5.2.6 on my Centos box and still
received the unexpected behavior.

Reproduce code:
---------------
<?php

/* Force an error -> 3307 is not where mysql is listening */
$mysqli = new mysqli("127.0.0.1:3307", "my_user", "my_password",
"world");

/* Check for error: This should return true and enter the if block */
if ($mysqli->connect_error) {
    printf("Connect failed: %s\n", $mysqli->connect_error);
    exit();
}

printf("Host information: %s\n", $mysqli->host_info);

/* close connection */
$mysqli->close();
?>

Expected result:
----------------
Connect failed: Unknown MySQL server host '127.0.0.1:3307'

Actual result:
--------------
Warning: mysqli::mysqli(): (HY000/2005): Unknown MySQL server host
'127.0.0.1:3307' (3) in /srv/php/projects/test/src/test.php on line 4

Warning: main(): Couldn't fetch mysqli in
/srv/php/projects/test/src/test.php on line 7

Warning: main(): Couldn't fetch mysqli in
/srv/php/projects/test/src/test.php on line 12
Host information: 

Warning: mysqli::close(): Couldn't fetch mysqli in
/srv/php/projects/test/src/test.php on line 15

-- 
Edit bug report at http://bugs.php.net/?id=45940&edit=1
-- 
Try a CVS snapshot (PHP 5.2): 
http://bugs.php.net/fix.php?id=45940&r=trysnapshot52
Try a CVS snapshot (PHP 5.3): 
http://bugs.php.net/fix.php?id=45940&r=trysnapshot53
Try a CVS snapshot (PHP 6.0): 
http://bugs.php.net/fix.php?id=45940&r=trysnapshot60
Fixed in CVS:                 http://bugs.php.net/fix.php?id=45940&r=fixedcvs
Fixed in release:             
http://bugs.php.net/fix.php?id=45940&r=alreadyfixed
Need backtrace:               http://bugs.php.net/fix.php?id=45940&r=needtrace
Need Reproduce Script:        http://bugs.php.net/fix.php?id=45940&r=needscript
Try newer version:            http://bugs.php.net/fix.php?id=45940&r=oldversion
Not developer issue:          http://bugs.php.net/fix.php?id=45940&r=support
Expected behavior:            http://bugs.php.net/fix.php?id=45940&r=notwrong
Not enough info:              
http://bugs.php.net/fix.php?id=45940&r=notenoughinfo
Submitted twice:              
http://bugs.php.net/fix.php?id=45940&r=submittedtwice
register_globals:             http://bugs.php.net/fix.php?id=45940&r=globals
PHP 4 support discontinued:   http://bugs.php.net/fix.php?id=45940&r=php4
Daylight Savings:             http://bugs.php.net/fix.php?id=45940&r=dst
IIS Stability:                http://bugs.php.net/fix.php?id=45940&r=isapi
Install GNU Sed:              http://bugs.php.net/fix.php?id=45940&r=gnused
Floating point limitations:   http://bugs.php.net/fix.php?id=45940&r=float
No Zend Extensions:           http://bugs.php.net/fix.php?id=45940&r=nozend
MySQL Configuration Error:    http://bugs.php.net/fix.php?id=45940&r=mysqlcfg

Reply via email to