(PHP 5, PHP 7, PHP 8)
mysqli::$thread_id -- mysqli_thread_id — Retorna o ID da thread para a conexão atual
Estilo orientado a objetos
Estilo procedural
A função mysqli_thread_id() retorna o ID da thread para a conexão atual que pode então ser eliminada usando a função mysqli_kill(). Se a conexão for perdida e você reconectar com mysqli_ping(), o ID do thread será diferente. Portanto, o ID do thread deve ser obtido somente quando necessário.
Nota:
O ID do encadeamento é atribuído conexão por conexão. Portanto, se a conexão for interrompida e restabelecida, um novo ID de thread será atribuído.
Para eliminar uma consulta em execução, pode ser usado o comando SQL
KILL QUERY id_processo
.
mysql
Somente no estilo procedural: Um objeto mysqli retornado por mysqli_connect() ou mysqli_init()
Retorna o ID do thread para a conexão atual.
Exemplo #1 Exemplo de $mysqli->thread_id
Estilo orientado a objetos
<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");
/* verifique a conexão */
if (mysqli_connect_errno()) {
printf("Falha na conexão: %s\n", mysqli_connect_error());
exit();
}
/* determine nosso id de thread */
$thread_id = $mysqli->thread_id;
/* Matar conexão */
$mysqli->kill($thread_id);
/* Isso deve produzir um erro */
if (!$mysqli->query("CREATE TABLE myCity LIKE City")) {
printf("Erro: %s\n", $mysqli->error);
exit;
}
/* fecha a conexão */
$mysqli->close();
?>
Estilo procedural
<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");
/* verifique a conexão*/
if (mysqli_connect_errno()) {
printf("Falha na conexão: %s\n", mysqli_connect_error());
exit();
}
/* determine nosso id de thread */
$thread_id = mysqli_thread_id($link);
/* Matar conexão */
mysqli_kill($link, $thread_id);
/* Isso deve produzir um erro */
if (!mysqli_query($link, "CREATE TABLE myCity LIKE City")) {
printf("Erro: %s\n", mysqli_error($link));
exit;
}
/* fecha a conexão */
mysqli_close($link);
?>
Os exemplos acima produzirão:
Erro: MySQL server has gone away