|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
[2004-10-28 01:52 UTC] v_shiray at ukr dot net
Description:
------------
Below code has produced next output:
Current connections: Resource id #4, Resource id #4
PHP Warning: mysql_query(): 4 is not a valid MySQL-Link resource in ...
Tested on Linux Slackware 10.0
PHP Version => 4.3.9
System => Linux gate 2.4.27-lck3 #3 ??? ??? 13 01:00:30 EEST 2004 i686
Build Date => Sep 30 2004 23:01:51
Configure Command => './configure' '--prefix=/opt/php' '--with-config-file-path=/opt/php/etc' '--disable-cgi' '--enable-static' '--disable-shared' '--enable-sockets' '--enable-ftp' '--with-mysql=/usr' '--with-zlib=/usr'
PS. PHP 4.3.6 and 4.3.7 are not affected for this problem.
Reproduce code:
---------------
error_reporting(E_ALL);
$db1 = mysql_connect ('localhost', 'test', '1');
$db2 = mysql_connect ('localhost', 'test', '1');
echo "Current connections: $db1, $db2\n";
mysql_close($db2);
$db2 = 0;
mysql_query('SELECT 1+1', $db1);
Expected result:
----------------
Resource ID must be available with $db1
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
|
|||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Sat Oct 25 22:00:01 2025 UTC |
If you want to open a new link to a MySQL server you must specify the 4th param to mysql_connect witch is a boolean that has a default value of FALSE. $link_1 = mysql_connect('host', 'user', 'pass'); $link_2 = mysql_connect('host', 'user', 'pass', TRUE); Only this is the way to create a new link to MySQL... otherwise PHP will just return the old one... but only if mysql_connect's parrams are the same ! This 4th param was introduced as of PHP 4.2.0. To work on the $link_1 you should specify it... mysql_query("SELECT ...", $link_1); because otherwise PHP will use $link_2... akka the last opened link ! Good fortune ! I hope it's clear !