mysql_connect не работает во второй раз

дубликат без ответа: Как восстановить соединение в php adodb после исключений: сервер Mysql пропал или потерял соединение с сервером MySQL во время запроса

mysql_connect работает в первый раз, но никогда не работает после этого …

$connectDb = mysql_connect(secret, secret, secret);
mysql_select_db("secret", $connectDb);

$sleepPeriod = 1800;
sleep($sleepPeriod);
while (true) {
$result = mysql_query("good query", $connectDb);
if (!$result) {
if (mysql_error()=='MySQL server has gone away') {
echo "MySql connection was disconnected... reconecting...\n";
$connectDb = mysql_connect(secret, secret, secret);
mysql_select_db("secret", $connectDb);
continue;
} else {
die("Invalid Query: ".__FILE__.':'.__LINE__.' '.mysql_error()."\n");
}
}
//DO STUFF
sleep($sleepPeriod);
}

если происходит тайм-аут или отключение mysql_connect кажется, терпит неудачу и mysql_error постоянно возвращается "MySQL server has gone away", что приводит к бесконечному циклу, который может идти в течение нескольких дней. есть ли другой способ очистить ответ об ошибке mysql_error или сделать mysql_connect запустите второй раз без необходимости перезапуска этой программы вручную или обращения к cron.

Я просто заметил, что mysql_connect имеет странный (глупый?) параметр с именем new_linkТем не менее, было бы возмутительно, если код php mysql преднамеренно отключает переподключения по таймауту по умолчанию … Я протестирую в любом случае и вернусь.

2

Решение

mysql_connect не волнует, отключилось ли соединение или истекло ли оно никогда подключите второй раз, если вы не вызываете его с параметром new_link со значением true,

mysql_connect($server,$username,$password,true);
2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]