ID: 35993 Updated by: [EMAIL PROTECTED] Reported By: andreas at fink dot org -Status: Open +Status: Bogus Bug Type: MySQL related Operating System: MacOS X & Linux PHP Version: 5.1.2 New Comment:
So you actually don't even get the 2nd handle for some reason. Please ask further support questions elsewhere. You really need to learn how to debug scripts. This is not a PHP bug. Previous Comments: ------------------------------------------------------------------------ [2006-01-14 16:14:21] andreas at fink dot org if I pass the mysql handle to mysql_err I still get: This query was executed on db1_handle:This is DB named test1 Warning: mysql_error(): supplied argument is not a valid MySQL-Link resource in /Users/afink/test.php on line 25 I'm using MySQL 5.0.15 btw. ------------------------------------------------------------------------ [2006-01-14 15:15:10] [EMAIL PROTECTED] What if you actually passed the right connection handle to mysql_error()? And add this as first line in your script: error_reporting(E_ALL); btw: It works just fine for me too. ------------------------------------------------------------------------ [2006-01-14 09:50:50] andreas at fink dot org <? $db1_handle=mysql_connect("127.0.0.1","test","test"); mysql_select_db("test1",$db1_handle); $db2_handle=mysql_connect("127.0.0.1","test","test", true); mysql_select_db("test2",$db2_handle); $query = "select data from testdata where id=1"; $result1 = mysql_query($query,$db1_handle); if($result1) { $line = mysql_fetch_row ( $result1 ); echo "This query was executed on db1_handle:" .$line[0] ."\n"; } else echo mysql_error()."\n"; $query = "select data from testdata2 where id=1"; $result2 = mysql_query($query,$db2_handle); if($result2) { $line = mysql_fetch_row ( $result2 ); echo "This query was executed on db2_handle:" .$line[0] ."\n"; } else echo mysql_error()."\n"; ?> Returns: vpn5:~ afink$ php test.php This query was executed on db1_handle:This is DB named test1 No database selected vpn5:~ afink$ So what you say now? Is my brain really that damaged that I can not see what's wrong here? I had working code using two concurrent mysql connections not working anymore after upgrading php to a more recent version without doing changes to the code. And I've seen other people with similar problems. I agree that using pconnect in this scenario makes it somehow not obvious as you expect the change of database to be on your resource id only and not on another one (non obvious) but you want to avoid to have to connect/disconnect every time. My thinking was that pconnect returns a connection out of a pool and returns it to the pool at the end and not really using the same one [you can blame me for getting that wrong]. The main reason why you want to have multiple connections is because you read through a list of items on one connection (loop with mysql_fetch_row) while doing other things like queries and inserts on the second conncetion. Doing this on the first connection makes it loose its context of the query. This is obviously a problem for many developers. However above code shows that there IS DEFINITIVELY a problem. ------------------------------------------------------------------------ [2006-01-14 09:34:20] [EMAIL PROTECTED] Please stop to reopen this bug, add proper error handling instead to your source and check why you're getting an invalid result. ------------------------------------------------------------------------ [2006-01-13 18:36:44] andreas at fink dot org $db1_handle=mysql_connect("127.0.0.1","test","test"); mysql_select_db("test1",$db1_handle); $db2_handle=mysql_connect("127.0.0.1","test","test", true); mysql_select_db("test2",$db2_handle); gives: array(1) { [0]=> string(8) "testdata" } --------------------------- Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in /Users/afink/test2.php on line 19 Now is this a bug or not? ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at http://bugs.php.net/35993 -- Edit this bug report at http://bugs.php.net/?id=35993&edit=1