У этого метода может сдуть ошибку 2006 mysql - PullRequest
0 голосов
/ 27 января 2012

Несколько дней назад я неожиданно пришел к получению пустого результата, я был удивлен, а затем проверил функцию mysql_error, а затем получил этот 2006: сервер Mysql исчез. Проблема в том, что он приходит не каждый раз, а иногда только для одного и того же запроса.

Я проверил много вопросов здесь на stackoverflow, а также множество блогов в Интернете, но я не нашел возможного решения этой ошибки

Сегодня я написал эту функцию для этого, и ошибка исчезает,

$conn = mysql_connect($this->host, $this->dbUser, $this->dbPass);
    $db_select = mysql_select_db($this->dbName, $conn);

    for($i=0;mysql_error($conn) != 2006;$i++)
    {
        $result = mysql_query($sql, $conn);
        if($i > 10){break;}
    }

Я хочу спросить у профессионалов, если это правильный способ избавления от подобной ситуации или неправильный метод для этого

1 Ответ

0 голосов
/ 27 января 2012

Эта ошибка возникает, когда сервер MySQL был перезапущен / недоступен. Это может происходить в конкретном запросе, если запрос вызывает какую-то проблему (не могу сказать больше, не зная, что делает запрос).

В любом случае, эта ошибка допустима и не должна игнорироваться. Вы должны выяснить, ПОЧЕМУ он поднимается в первую очередь.

Вы можете использовать функцию mysql_ping , чтобы проверить, доступен ли сервер перед выполнением запроса, а не для обнаружения ошибки.

...