#35868 [NEW]: wrong handling of mysql connections hashing

From: Date: Sun, 01 Jan 2006 21:34:49 +0000
Subject: #35868 [NEW]: wrong handling of mysql connections hashing
Groups: php.bugs 
Request: Send a blank email to php-bugs+get-91328@lists.php.net to get a copy of this message
From: giovanni at giacobbi dot net Operating system: platform independent PHP version: 4.4.1 PHP Bug Type: MySQL related Bug description: wrong handling of mysql connections hashing Description: ------------ The code for reproducing is self-explanatory. Anyway, the problem appears when handling multiple connections to the same database with the same login and passwords. I'm testing a script that handles connections to multiple MySQL databases, and for testing purposes I need to operate with two separated local database. However, the connection is only distinguished by the database name, while you use only host, user, and password for hashing the single connection. This results in a collision when opening the second connection, and makes it impossible to recover the previous one using mysql_connect()'s existing link functionality, even if the connection itself is still open. Reproduce code: --------------- <?php /* create primary connection */ $r1 = mysql_connect("localhost", "root", "*****", TRUE); mysql_select_db("dbname1", $r1) or die(mysql_error()); var_dump($r1); /* create auxiliary connection */ $r2 = mysql_connect("localhost", "root", "*****", TRUE); mysql_select_db("dbname2", $r2) or die(mysql_error()); var_dump($r2); /* get rid of auxiliary connection when done */ mysql_close($r2); /* fetch back the previous connection as default! */ $r3 = mysql_connect("localhost", "root", "******"); var_dump($r3); exit(); Expected result: ---------------- resource(4) of type (mysql link) resource(5) of type (mysql link) resource(4) of type (mysql link) Actual result: -------------- resource(4) of type (mysql link) resource(5) of type (mysql link) resource(6) of type (mysql link) -- Edit bug report at http://bugs.php.net/?id=35868&edit=1 -- Try a CVS snapshot (PHP 4.4): http://bugs.php.net/fix.php?id=35868&r=trysnapshot44 Try a CVS snapshot (PHP 5.1): http://bugs.php.net/fix.php?id=35868&r=trysnapshot51 Try a CVS snapshot (PHP 6.0): http://bugs.php.net/fix.php?id=35868&r=trysnapshot60 Fixed in CVS: http://bugs.php.net/fix.php?id=35868&r=fixedcvs Fixed in release: http://bugs.php.net/fix.php?id=35868&r=alreadyfixed Need backtrace: http://bugs.php.net/fix.php?id=35868&r=needtrace Need Reproduce Script: http://bugs.php.net/fix.php?id=35868&r=needscript Try newer version: http://bugs.php.net/fix.php?id=35868&r=oldversion Not developer issue: http://bugs.php.net/fix.php?id=35868&r=support Expected behavior: http://bugs.php.net/fix.php?id=35868&r=notwrong Not enough info: http://bugs.php.net/fix.php?id=35868&r=notenoughinfo Submitted twice: http://bugs.php.net/fix.php?id=35868&r=submittedtwice register_globals: http://bugs.php.net/fix.php?id=35868&r=globals PHP 3 support discontinued: http://bugs.php.net/fix.php?id=35868&r=php3 Daylight Savings: http://bugs.php.net/fix.php?id=35868&r=dst IIS Stability: http://bugs.php.net/fix.php?id=35868&r=isapi Install GNU Sed: http://bugs.php.net/fix.php?id=35868&r=gnused Floating point limitations: http://bugs.php.net/fix.php?id=35868&r=float No Zend Extensions: http://bugs.php.net/fix.php?id=35868&r=nozend MySQL Configuration Error: http://bugs.php.net/fix.php?id=35868&r=mysqlcfg

« previous php.bugs (#91328) next »