(PHP 5)
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.
Style procédural uniquement : Un identifiant de lien retourné par la fonction mysqli_connect() ou par la fonction mysqli_init()
Retourne l'identifiant du thread pour la connexion courante.
Exemple #1 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();
?>
Exemple #2 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);
?>
L'exemple ci-dessus va afficher :
Erreur : MySQL server has gone away