ID: 17118
Updated by: [EMAIL PROTECTED]
Reported By: [EMAIL PROTECTED]
Status: Open
-Bug Type: MySQL related
+Bug Type: Documentation problem
PHP Version: 4.2.0
New Comment:
Expected behaviour, making it a docu prob.
Previous Comments:
------------------------------------------------------------------------
[2002-05-09 09:44:01] [EMAIL PROTECTED]
when more than one link is opened (to different db) in a php script, if
mysql_error() is called without the optional link-id parameter it
returns the error status relative to the last opened link whereas
documentation states it should be about the last mysql_*() function
call.
So far it could be just a documentation problem (not clear enough) yet
I'd expect mysql_error() to be smart enough to identify the link used
by the most recent mysql_*() function rather just than picking the last
created one.
Obviously the same applies for mysql_errno()
doc extract for mysql_error():
--------------------
Returns the error text from the last MySQL function, or '' (the empty
string) if no error occurred.
[...]
Note that this function only returns the error text from the most
recently executed MySQL function (not including mysql_error() and
mysql_errno()), so if you want to use it, make sure you check the value
before calling another MySQL function.
Script
----
Here is a simple script to play with to view what I probably made less
understandable by writing...
Usage: test.tab1 and guestbook.book db's and tables must be there, the
no_*such_table's table should generate an error... altering the order
of connections changes the output as well.
<?
print "\nDB1\n";
$db1 = mysql_connect("localhost", "user", "user");
print mysql_error();
mysql_select_db("test");
print mysql_error();
print "\nDB2\n";
$db2 = mysql_connect("localhost", "guest", "guest");
print mysql_error();
mysql_select_db("guestbook");
print mysql_error();
print "\nQUERY1.1\n";
mysql_query("select * from tab1", $db1);
print mysql_error();
print "\nQUERY1.2\n";
mysql_query("select * from no_1such_table", $db1);
print mysql_error();
print "\nQUERY2.1\n";
mysql_query("select * from book", $db2);
print mysql_error();
print "\nQUERY2.2\n";
mysql_query("select * from no_2such_table", $db2);
print mysql_error();
print "\nQUERY1.1\n";
mysql_query("select * from tab1", $db1);
print mysql_error();
print "\nQUERY1.2\n";
mysql_query("select * from no_3such_table", $db1);
print mysql_error();
?>
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=17118&edit=1