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 — Ermittelt das Ergebnis von SHOW WARNINGS
Objektorientierter Stil
Prozeduraler Stil
   Gibt eine einfach verknüpfte Liste bestehend aus
   mysqli_warning oder false zurück, wenn keine
   Warnungen vorhanden sind.
   Jedes Objekt in der Liste entspricht einer einzelnen Zeile des Ergebnisses
   von SHOW WARNINGS.
   Durch den Aufruf von mysqli_warning::next() wird das
   Objekt mit den Werten der nächsten Zeile neu gefüllt.
  
Hinweis: Um Warnmeldungen abzurufen, wird empfohlen, statt dieser Funktion den SQL-Befehl
SHOW WARNINGS [limit row_count]zu verwenden.
Die verknüpfte Liste kann nicht zurückgespult oder erneut aufgerufen werden.
mysqlNur bei prozeduralem Aufruf: ein von mysqli_connect() oder mysqli_init() zurückgegebenes mysqli-Objekt.
   Gibt eine einfach verknüpfte Liste bestehend aus
   mysqli_warning oder false zurück, wenn keine
   Warnungen vorhanden sind.
  
Beispiel #1 Die verknüpfte Liste durchlaufen, um alle Warnungen zu erhalten
Objektorientierter Stil
<?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("Fehlernummer: %s\n", $warning->errno);
            printf("Meldung: %s\n", $warning->message);
        } while ($warning->next());
    }
}Prozeduraler Stil
<?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("Fehlernummer: %s\n", $warning->errno);
            printf("Meldung: %s\n", $warning->message);
        } while ($warning->next());
    }
}Die obigen Bespiele erzeugen folgende Ausgabe:
Fehlernummer: 1365 Meldung: Division by 0 Fehlernummer: 1292 Meldung: Truncated incorrect INTEGER value: 'NULL'
