Take note:
Calling this function will change the output of mysqli_affected_rows if any warnings are returned. So if you're using mysqli_affected_rows in your application, make sure to call it before calling 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
Style orienté objet
Style procédural
   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.
La liste chaînée ne peut pas être réinitialisée ni récupérée à nouveau.
mysqlSeulement en style procédural : Un objet mysqli retourné par la fonction mysqli_connect() ou mysqli_init().
   Retourne une liste simplement chaînée composée de
   mysqli_warning ou false s'il n'y a aucun avertissement.
  
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());
    }
}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'
