# mysqli::get_warnings

# mysqli_get_warnings

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

mysqli::get_warnings -- mysqli_get_warnings — Ermittelt das Ergebnis von SHOW WARNINGS

### Beschreibung

Objektorientierter Stil

public mysqli::get_warnings(): mysqli_warning|false

Prozeduraler Stil

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

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.

Warnung

Die verknüpfte Liste kann nicht zurückgespult oder erneut aufgerufen werden.

### Parameter-Liste

`mysql`

  Nur bei prozeduralem Aufruf: ein von mysqli_connect() oder mysqli_init() zurückgegebenes mysqli-Objekt.

### Rückgabewerte

Gibt eine einfach verknüpfte Liste bestehend aus mysqli_warning oder `false` zurück, wenn keine Warnungen vorhanden sind.

### Beispiele

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'

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