Demande au serveur de terminer un thread MySQL

# mysqli::kill

# mysqli_kill

(PHP 5, PHP 7, PHP 8)

mysqli::kill -- mysqli_kill — Demande au serveur de terminer un thread MySQL

Avertissement

Cette fonction est OBSOLÈTE à partir de PHP 8.4.0. Dépendre de cette fonction est fortement déconseillé.

### Description

Style orienté objet

#[\Deprecated]
public function mysqli::kill(int `$process_id`): bool

Style procédural

#[\Deprecated]
function mysqli_kill(mysqli `$mysql`, int `$process_id`): bool

mysqli_kill() est utilisée pour demander au serveur de terminer un thread MySQL spécifié par le paramètre `process_id`. Cette valeur doit être obtenue en appelant la fonction mysqli_thread_id().

Pour arrêter une requête en cours d'exécution, utiliser la commande SQL `KILL QUERY process_id`.

### Liste de paramètres

`mysql`
  Seulement en style procédural : Un objet mysqli retourné par la fonction mysqli_connect() ou mysqli_init().

### Valeurs de retour

Cette fonction retourne `true` en cas de succès ou `false` si une erreur survient.

### Erreurs / Exceptions

Si le rapport d'erreurs mysqli est activé (`MYSQLI_REPORT_ERROR`) et que l'opération demandée échoue, un avertissement est généré. Si, en plus, le mode est défini sur `MYSQLI_REPORT_STRICT`, une mysqli_sql_exception est lancée à la place.

### Historique

Version | Description
--- | ---
8.4.0 | Les méthodes mysqli::kill() et mysqli_kill() sont désormais obsolètes. Utiliser plutôt la commande SQL `KILL`.

### Exemples

Exemple #1 Exemple avec mysqli::kill()

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();
    ?>

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);
    ?>

Les exemples ci-dessus vont afficher :

    Erreur : MySQL server has gone away

### Voir aussi

- mysqli_thread_id() - Retourne l'identifiant du thread pour la connexion courante

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open