mysqli::$thread_id

mysqli_thread_id

(PHP 5, PHP 7)

mysqli::$thread_id -- mysqli_thread_id Возвращает ID процесса текущего подключения

Описание

Объектно-ориентированный стиль

Процедурный стиль

mysqli_thread_id ( mysqli $link ) : int

mysqli_thread_id() возвращает ID процесса текущего подключения, который можно завершить функцией mysqli_kill(). Если соединение было разорвано и восстановлено функцией mysqli_ping(), ID процесса будет уже другим. Поэтому нужно получать этот идентификатор, когда это действительно необходимо.

Замечание:

ID процесса назначается по принципу подключение-за-подключением. Соответственно, если соединение разорвано и заново установлено, ему будет присвоен новый идентификатор.

Для завершения работы запущенного запроса можно использовать SQL-команду KILL QUERY processid.

Список параметров

link

Только для процедурного стиля: Идентификатор соединения, полученный с помощью mysqli_connect() или mysqli_init()

Возвращаемые значения

Возвращает ID процесса текущего подключения.

Примеры

Пример #1 Пример использования $mysqli->thread_id

Объектно-ориентированный стиль

<?php
$mysqli 
= new mysqli("localhost""my_user""my_password""world");

/* проверка соединения */
if (mysqli_connect_errno()) {
    
printf("Не удалось подключиться: %s\n"mysqli_connect_error());
    exit();
}

/* определяем наш id процесса */
$thread_id $mysqli->thread_id;

/* убиваем соединение */
$mysqli->kill($thread_id);

/* тут должна произойти ошибка */
if (!$mysqli->query("CREATE TABLE myCity LIKE City")) {
    
printf("Ошибка: %s\n"$mysqli->error);
    exit;
}

/* закрываем соединение */
$mysqli->close();
?>

Процедурный стиль

<?php
$link 
mysqli_connect("localhost""my_user""my_password""world");

/* проверка соединения */
if (mysqli_connect_errno()) {
    
printf("Не удалось подключиться: %s\n"mysqli_connect_error());
    exit();
}

/* определяем наш id процесса */
$thread_id mysqli_thread_id($link);

/* убиваем соединение */
mysqli_kill($link$thread_id);

/* тут должна произойти ошибка */
if (!mysqli_query($link"CREATE TABLE myCity LIKE City")) {
    
printf("Ошибка: %s\n"mysqli_error($link));
    exit;
}

/* закрываем соединение */
mysqli_close($link);
?>

Результат выполнения данных примеров:

Ошибка: MySQL server has gone away

Смотрите также

  • mysqli_kill() - Запрос для сервера завершить выполнение процесса MySQL