mysqli::$thread_id
mysqli_thread_id
(PHP 5)
mysqli::$thread_id -- mysqli_thread_id — Retourne l'identifiant du thread pour la connexion courante
Description
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.
Liste de paramètres
-
link
-
Seulement en style procédural : Un identifiant de lien retourné par la fonction mysqli_connect() ou par la fonction mysqli_init()
Valeurs de retour
Retourne l'identifiant du thread pour la connexion courante.
Exemples
Exemple #1 Exemple avec $mysqli->thread_id
<?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(); ?>
<?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