Прерывистый «База данных не выбрана» в PHP / MySQL? - PullRequest
3 голосов
/ 06 мая 2010

Иметь форму PHP / MySQL с выпадающим списком, содержащим список из 350 имен.Когда выбрано любое случайное имя, иногда оно работает и отображает информацию об этом имени из базы данных, а иногда форма выдает ошибку «База данных не выбрана».

Вот то, что я пробовал, в значительной степени цепляясь засоломинка, так как я не программист:

  • Увеличение max_connections в /etc/my.cnf с 200 до 2000 (даже если установлено только 4-5 соединений, и это слабо используемый сервер)
  • Изменение mysql_pconnect на mysql_connect
  • Добавление слова true в эту строку подключения:

    $ mysql = mysql_pconnect ($ hostname_mysql, $ username_mysql, $ password_mysql, true) или trigger_error(mysql_error (), E_USER_ERROR);

  • Изменение слова require_once для запроса в этой строке:

    [? php require ('/ home / user / Connections / mysql.php ');?]

  • Включение запросов и регистрации ошибок MySQL и PHP.(нет зарегистрированных ошибок)

Вот код: [удален старый плохой код]

Обновление: рабочий ответ Роба Аподаки ниже.

Ответы [ 2 ]

3 голосов
/ 06 мая 2010

Эта строка: mysql_select_db($database_mysql, $mysql); встречается в предоставленном вами скрипте более одного раза. Поскольку значение $database_mysql не изменяется, я бы удалил все экземпляры этой строки и поместил бы его сразу после mysql_pconnect/mysql_connect line.

0 голосов
/ 28 декабря 2010

Моя проблема была связана с объектом подключения к базе данных (B), который был сериализован в другой сериализованный объект (A). Иногда, в зависимости от того, что произошло до того, как объект A был не сериализован, объект B мог выполнить вызов mysql_select_db() с нулевым именем базы данных, поскольку он был потерян.

Мы засоряли наш код некоторыми эхо-запросами результата запроса MySQL "SELECT DATABASE()", пока не нашли место, где происходила периодическая потеря базы данных по умолчанию. Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...