Be careful using this before mysqli::close.
Killing the thread before actually closing the connection will leave the connection open! And depending on your max_connections and max_user_connections (by default the same), this could result in a "Max connections reached for **** user" message.
mysqli::kill
mysqli_kill
(PHP 5)
mysqli::kill -- mysqli_kill — Demande au serveur de terminer un thread MySQL
Description
Style orienté objet :
bool mysqli::kill
( int $processid
)
Style procédural :
mysqli_kill() est utilisée pour demander au serveur de terminer un thread MySQL spécifié par le paramètre processid . Cette valeur doit être obtenue en appelant la fonction mysqli_thread_id().
Pour arrêter une requête en cours d'exécution, utilisez 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
Cette fonction retourne TRUE en cas de succès, FALSE en cas d'échec.
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'id du thread */
$thread_id = $mysqli->thread_id;
/* Termine le thread */
$mysqli->kill($thread_id);
/* Ceci devrait 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'id du thread */
$thread_id = mysqli_thread_id($link);
/* Termine le thread */
mysqli_kill($link, $thread_id);
/* Ceci devrait 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
mysqli::kill
johnjawed at gmail dot com
02-Dec-2004 09:34
02-Dec-2004 09:34
