Застрявшие запросы - PullRequest
       11

Застрявшие запросы

0 голосов
/ 11 апреля 2019

Я использую простые запросы mysqli, и даже если они не дают результатов или ответ от сервера выдает ошибки, я закрываю соединение с помощью команды mysqli_free_result. Проблема в том, что эти соединения иногда зависают, и я не могу удалить их в Information_schema, потому что у меня нет доступа к этой таблице. Есть ли какое-либо решение, использующее mysqli для завершения зависшего соединения.

$query = mysqli_query( $this->link, $sql);

и затем:

mysqli_free_result($query);

1 Ответ

0 голосов
/ 11 апреля 2019

mysqli_free_result только освобождает память результата, в соответствии с документацией :

Освобождает память, связанную с результатом.

Inв вашем случае, поскольку соединения "зависли", я думаю, это означает, что запрос занимает достаточно много времени, и результат еще не возвращен, поэтому mysqli_free_result не будет работать.

Если вы хотите отказаться от ожидания результатов и разорвать соединение, вы можете использовать mysqli_close(CONNECTION) или CONNECTION::close (в зависимости от того, как вы инициализировали соединение), чтобы закрыть соединение mysql.Подробнее см. Документацию .

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