#24977 [Com]: mysql_select_db returns 'true' when select failed
| From: | gibex at remar dot pascani dot rdsnet dot ro | Date: | Wed, 26 Nov 2003 13:16:34 +0000 |
| Subject: | #24977 [Com]: mysql_select_db returns 'true' when select failed | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-51092@lists.php.net to get a copy of this message | ||
ID: 24977
Comment by: gibex at remar dot pascani dot rdsnet dot ro
Reported By: jmat at shutdown dot net
Status: Closed
Bug Type: MySQL related
Operating System: Linux 2.4.18/Redhat 7.2
PHP Version: 4CVS-2003-08-07 (stable)
Assigned To: iliaa
New Comment:
problem persist in php 4.3.4
$conn = mysql_connect($dbhost, $dbuser, $dbpasswd) or
die(mysql_error());
mysql_select_db($dbname, $conn) or die(mysql_error());
Can you provide me a solution of this.
thanks
Previous Comments:
------------------------------------------------------------------------
[2003-08-08 08:40:37] iliaa@php.net
This bug has been fixed in CVS.
In case this was a PHP problem, snapshots of the sources are packaged
every three hours; this change will be in the next snapshot. You can
grab the snapshot at http://snaps.php.net/.
In case this was a documentation problem, the fix will show up soon at
http://www.php.net/manual/.
In case this was a PHP.net website problem, the change will show
up on the PHP.net site and on the mirror sites in short time.
Thank you for the report, and for helping us make PHP better.
------------------------------------------------------------------------
[2003-08-07 20:53:49] jmat at shutdown dot net
That patch appears to have fixed the problem..
It's been running for the past two hours -- I used a load tester and
pushed 56,000+ pages through it -- before the patch, about 1/3 failed
-- after the patch, they all worked: not a single failure.
I'm going to push this updated version out to my other servers now.
------------------------------------------------------------------------
[2003-08-07 18:47:42] iliaa@php.net
Try the following patch and see if it fixes the problem (be sure to
remove your workaround before you start testing it).
http://bb.prohost.org/my.txt
------------------------------------------------------------------------
[2003-08-07 16:48:59] jmat at shutdown dot net
Yet some more info:
I just had a 3rd server start throwing "No Database Selected".
Instead of restarting it, I added a small piece of code into my
abstract library for running queries.
if (mysql_error() == "No Database Selected") {
mysql_select_db(SITE_DB,$db_handle);
$retry_query = true;
}
I basically have this enclosed in a while($retry_query == true) loop
around my queries...
When I do this, it works fine -- the database gets 'reselected', and it
works.
I'm going to leave this in there for now, although it's not very
elegant, it will keep me up for now. :)
------------------------------------------------------------------------
[2003-08-07 16:39:15] jmat at shutdown dot net
It appears that restarting the webserver will 'fix' the problem, for at
least a few hours.
While the server in question is working fine now, a second server
(semi-production) just started throwing "No Database Selected" about 5
minutes ago -- it's been up for 4 hours. It's running the same
versions (except Redhat 8) of Apache/PHP.
Restarting it fixed the problem on it, as well.
For now, I'll just cron a server restart every 3 hours. :)
------------------------------------------------------------------------
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/24977
--
Edit this bug report at http://bugs.php.net/?id=24977&edit=1