(PHP 5, PHP 7, PHP 8)
mysqli::$thread_id -- mysqli_thread_id — Retourne l'identifiant du thread pour la connexion courante
Style orienté objet
Style procédural
La fonction mysqli_thread_id() retourne l'identifiant du thread de la connexion courante qui peut être terminé par la suite en utilisant la fonction mysqli_kill(). Si la connexion est perdue et que vous vous reconnectez avec la fonction mysqli_ping(), l'identifiant du thread sera différent. Ainsi, vous devez récupérer l'identifiant du thread uniquement lorsque vous en avez besoin.
Note:
L'identifiant du thread est assigné sur une base de connexion par connexion. Ce qui fait que si la connexion est coupée, puis relancée, un nouvel identifiant de thread lui sera assigné.
Pour terminer une requête en cours d'exécution, vous pouvez utiliser la commande SQL
KILL QUERY processid
.
mysql
Seulement en style procédural : Un objet mysqli retourné par la fonction mysqli_connect() ou mysqli_init().
Retourne l'identifiant du thread pour la connexion courante.
Exemple #1 Exemple avec $mysqli->thread_id
Style orienté objet
<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");
/* Vérification de la connexion */
if (mysqli_connect_errno()) {
printf("Échec de la connexion : %s\n", mysqli_connect_error());
exit();
}
/* Détermine l'identifiant du thread */
$thread_id = $mysqli->thread_id;
/* Termine la connexion */
$mysqli->kill($thread_id);
/* Ceci doit produire une erreur */
if (!$mysqli->query("CREATE TABLE myCity LIKE City")) {
printf("Erreur : %s\n", $mysqli->error);
exit;
}
/* Fermeture de la connexion */
$mysqli->close();
?>
Style procédural
<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");
/* Vérification de la connexion */
if (mysqli_connect_errno()) {
printf("Échec de la connexion : %s\n", mysqli_connect_error());
exit();
}
/* Détermine l'identifiant du thread */
$thread_id = mysqli_thread_id($link);
/* Termine la connexion */
mysqli_kill($link, $thread_id);
/* Ceci doit produire une erreur */
if (!mysqli_query($link, "CREATE TABLE myCity LIKE City")) {
printf("Erreur : %s\n", mysqli_error($link));
exit;
}
/* Fermeture de la connexion */
mysqli_close($link);
?>
Les exemples ci-dessus vont afficher :
Erreur : MySQL server has gone away