PHP 4.0 Bug #9497 Updated: closed mysql connection after calling a function that uses another mysql conn.
| From: | sniper@php.net | Date: | Sun, 04 Mar 2001 01:01:38 +0000 |
| Subject: | PHP 4.0 Bug #9497 Updated: closed mysql connection after calling a function that uses another mysql conn. | ||
| Groups: | php.dev | ||
| Request: | Send a blank email to php-dev+get-47886@lists.php.net to get a copy of this message | ||
ID: 9497
Updated by: sniper
Reported By: coberau@gmx.net
Old-Status: Open
Status: Closed
Bug Type: MySQL related
Assigned To:
Comments:
From NEWS file:
------------------------------------------------------
- Fixed mysql_close(), pg_close(), msql_close() and sybase_close() - they
weren't properly closing the SQL connections (Zeev)
------------------------------------------------------
Read also the manual page for mysql_connect() :
http://www.php.net/mysql_connect
Where it says:
"If a second call is made to mysql_connect() with the same arguments, no new link
will be established, but instead, the link identifier of the already opened link will be
returned. "
ie. You relied on buggy behaviour of mysql_close() function.
--Jani
Previous Comments:
---------------------------------------------------------------------------
[2001-02-28 08:55:55] coberau@gmx.net
in file functions.inc:
function func1($blabla) {
$conn = mysql_connect ("host","user","pass");
mysql_select_db("db",$conn);
$resset=mysql_query("SELECT a,b,c FROM ATable",$conn);
mysql_close($conn);
}
-------------------
file index.php:
include ("functions.inc");
$conn_main = mysql_connect ("host","user","pass");
mysql_select_db("db",$conn_main);
$resset=mysql_query("SELECT a,b,c FROM ATable",$conn_main); <-- this statement works
and returns a result
func1($abc); <-- call defined function
$resset=mysql_query("SELECT a,b,c FROM ATable",$conn_main); <-- after calling the above
defined function i get an error: warning: 1 is not a valid mysql link resource
mysql_close($conn_main);
so thats the problem:
i have a script that makes a mysql connection. i can select, update, insert aso. from the db. then i
call a function that itself makes a connection to the same db, does something with it (works fine)
closes the connection and returns. i dont use global or give the main connection as an argument, its
just a plain standalone function. after calling the function the main script has lost its mysql
connection (its no timeout since the function doesnt take long to execute).
the same scripts work with PHP version 4.0.1pl2. both pcs have the same setup (apache 1.3.12, mysql
3.22.32, the rest as rpms from the distibution cds). its all the same except the php-version (both
compiled with the standard options --with-apxs --with-mysql -> make -> make install)
---------------------------------------------------------------------------
ATTENTION! Do NOT reply to this email!
To reply, use the web interface found at http://bugs.php.net/?id=9497&edit=2