array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'es', ), 'this' => array ( 0 => 'mysqli.thread-id.php', 1 => 'mysqli::$thread_id', ), 'up' => array ( 0 => 'class.mysqli.php', 1 => 'mysqli', ), 'prev' => array ( 0 => 'mysqli.store-result.php', 1 => 'mysqli::store_result', ), 'next' => array ( 0 => 'mysqli.thread-safe.php', 1 => 'mysqli::thread_safe', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'es', 'path' => 'reference/mysqli/mysqli/thread-id.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PHP 5, PHP 7, PHP 8)
mysqli::$thread_id -- mysqli_thread_id — Deveulve el ID del hilo de la conexión actual
Estilo orientado a objetos
Estilo por procedimientos
La función mysqli_thread_id() devuelve el ID del hilo de la conexión actual, el cual puede ser destruido usando la función mysqli_kill(). Si se pierde la conexión y se reconecta con mysqli_ping(), el ID del hilo será otro. Por lo tanto se debería obtener el ID del hilo únicamente cuando se necesite.
Nota:
El ID del hilo es asignado basándose en una conexión-por-conexión. Por lo tanto, si la conexión se pierde y se restablece se asignará un nuevo ID de hio.
Para destruir una consulta en ejecución se puede usar el comando SQL
KILL QUERY id_proceso
.
link
Sólo estilo por procediminetos: Un identificador de enlace devuelto por mysqli_connect() o mysqli_init()
Devuelve el ID del hilo de la conexión actual.
Ejemplo #1 Ejemplo $mysqli->thread_id
Estilo orientado a objetos
<?php
$mysqli = new mysqli("localhost", "mi_usuario", "mi_contraseña", "world");
/* comprobar la conexión */
if (mysqli_connect_errno()) {
printf("Falló la conexión: %s\n", mysqli_connect_error());
exit();
}
/* determinar el id del hilo */
$id_hilo = $mysqli->thread_id;
/* Destruir la conexión */
$mysqli->kill($id_hilo);
/* Esto debería producir un error */
if (!$mysqli->query("CREATE TABLE myCity LIKE City")) {
printf("Error: %s\n", $mysqli->error);
exit;
}
/* cerrar la conexión */
$mysqli->close();
?>
Estilo por procedimientos
<?php
$enlace = mysqli_connect("localhost", "mi_usuario", "mi_contraseña", "world");
/* comprobar la conexión */
if (mysqli_connect_errno()) {
printf("Falló la conexión: %s\n", mysqli_connect_error());
exit();
}
/* determinar el id del hilo */
$id_hilo = mysqli_thread_id($enlace);
/* Destruir la conexión */
mysqli_kill($enlace, $id_hilo);
/* Esto debería producir un error */
if (!mysqli_query($enlace, "CREATE TABLE myCity LIKE City")) {
printf("Error: %s\n", mysqli_error($enlace));
exit;
}
/* cerrar la conexión */
mysqli_close($enlace);
?>
El resultado de los ejemplos sería:
Error: MySQL server has gone away