Lit le résultat de SHOW WARNINGS

# mysqli::get_warnings

# mysqli_get_warnings

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

mysqli::get_warnings -- mysqli_get_warnings — Lit le résultat de `SHOW WARNINGS`

### Description

Style orienté objet

public function mysqli::get_warnings(): mysqli_warning|false

Style procédural

function mysqli_get_warnings(mysqli `$mysql`): mysqli_warning|false

Retourne une liste simplement chaînée composée de mysqli_warning ou `false` s'il n'y a aucun avertissement. Chaque objet de la liste correspond à une ligne unique du résultat de `SHOW WARNINGS`. Appeler mysqli_warning::next() remplira l'objet avec les valeurs de la ligne suivante.

> Note: Pour récupérer les messages d'avertissement, il est recommandé d'utiliser la commande SQL `SHOW WARNINGS [LIMIT row_count]` plutôt que cette fonction.

Avertissement

La liste chaînée ne peut pas être réinitialisée ni récupérée à nouveau.

### 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

Retourne une liste simplement chaînée composée de mysqli_warning ou `false` s'il n'y a aucun avertissement.

### Exemples

Exemple #1 Parcourir la liste chaînée pour récupérer tous les avertissements

Style orienté objet

    <?php

    mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
    $mysqli = new mysqli("localhost", "my_user", "my_password", "world");

    $mysqli->query("SELECT 1/0, CAST('NULL' AS UNSIGNED)");

    if ($mysqli->warning_count > 0) {
        $warning = $mysqli->get_warnings();
        if ($warning !== false) {
            do {
                printf("Numéro d'erreur : %s\n", $warning->errno);
                printf("Message : %s\n", $warning->message);
            } while ($warning->next());
        }
    }

Style procédural

    <?php

    mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
    $link = mysqli_connect("localhost", "user", "password", "test");

    mysqli_query($link, "SELECT 1/0, CAST('NULL' AS UNSIGNED)");

    if (mysqli_warning_count($link) > 0) {
        $warning = mysqli_get_warnings($link);
        if ($warning !== false) {
            do {
                printf("Numéro d'erreur : %s\n", $warning->errno);
                printf("Message : %s\n", $warning->message);
            } while ($warning->next());
        }
    }

Les exemples ci-dessus vont afficher :

    Numéro d'erreur : 1365
    Message : Division par 0
    Numéro d'erreur : 1292
    Message : Valeur ENTIER incorrecte tronquée : 'NULL'

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