Have a PHP/MySQL form with a dropdown box containing a list of 350 names. When any random name is selected, sometimes it works & displays info about that name from the database, and sometimes the form gives the error "No Database Selected".
Here's what I've tried, pretty much grasping at straws as I'm not a programmer:
- Increasing max_connections in /etc/my.cnf from 200 to 2000 (even though only 4-5 connections are made and it's a lightly used server)
- Changing mysql_pconnect to mysql_connect
Adding the word true to this connection string:
$mysql = mysql_pconnect($hostname_mysql, $username_mysql, $password_mysql, true) or trigger_error(mysql_error(),E_USER_ERROR);
Changing the word require_once to require on th开发者_开发知识库is line:
[?php require('/home/user/Connections/mysql.php'); ?]
Enabling MySQL & PHP query & error logging. (no errors logged)
Here is the code: [removed old bad code]
Update: Working answer from Rob Apodaca below.
This line: mysql_select_db($database_mysql, $mysql);
appears more than once in your provided script. Since the value of $database_mysql
does not appear to change, I would remove all of the instances of that line and place it just after the mysql_pconnect/mysql_connect line
.
My issue was with a database connection object (B) that was serialized within another serialized object (A). Sometimes, depending on what had happened prior to object A being unserialized, object B would perform a mysql_select_db()
call with a null database name as it had been lost.
We littered our code with some echo's of the result of a MySQL query "SELECT DATABASE()
" until we found where the intermittent loss of the default database was occurring. Hope this helps!
精彩评论