MySQLi
PHP Manual

mysqli::thread_id

mysqli_thread_id

(PHP 5)

mysqli::thread_id -- mysqli_thread_idRetourne l'identifiant du thread pour la connexion courante

Description

Style orienté objet :

mysqli
int $thread_id;

Style procédural :

int mysqli_thread_id ( mysqli $link )

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

Style procédural uniquement : 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 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

Voir aussi


MySQLi
PHP Manual