mysqli_error_list în PHP

mysqli avansat PHP 5.4+

Returnează lista erorilor ultimei operații pe conexiune, fiecare cu cod, SQLSTATE și mesaj.

Sintaxă
mysqli_error_list(mysqli $mysql): array

Ce face mysqli_error_list

Fiecare element are cheile errno, sqlstate și error. Dacă ultima operație a reușit, lista este goală. Cu modul implicit din PHP 8.1 (excepții), aceleași informații sunt în excepția mysqli_sql_exception.

Exemplele de pe această pagină folosesc baza de date magazin, cu tabelul produse (coloanele id INT AUTO_INCREMENT, nume VARCHAR(100) NOT NULL, pret INT și stoc INT) și patru rânduri: Laptop (3200 lei, 5 buc.), Mouse (80 lei, 40 buc.), Monitor (900 lei, 0 buc.) și Tastatură (150 lei, 12 buc.). Comenzile SQL sunt explicate în secțiunea MySQL. Rezultatele au fost scrise pentru MySQL 8, pentru că exemplele au nevoie de un server de baze de date.

Parametri

Parametru Descriere
$mysql Conexiunea.

Ce returnează

Un tablou cu erorile.

Exemple

Exemplul 1: Detaliile unei erori

<?php
mysqli_report(MYSQLI_REPORT_OFF);
$conn = mysqli_connect("localhost", "ana", "parola_ta", "magazin");

mysqli_query($conn, "SELECT * FROM produs");
print_r(mysqli_error_list($conn));

mysqli_query($conn, "SELECT 1");
var_dump(mysqli_error_list($conn));

Rezultat (cu un server MySQL și tabelul produse de mai sus)

Array
(
    [0] => Array
        (
            [errno] => 1146
            [sqlstate] => 42S02
            [error] => Table 'magazin.produs' doesn't exist
        )

)
array(0) {
}

Greșeli frecvente

  • Te aștepți ca lista să păstreze erorile mai vechi. Conține doar erorile ultimei operații.

Comenzi înrudite

  • mysqli_error: Returnează mesajul de eroare al ultimei operații MySQL de pe conexiune, sau text gol dacă nu a fost eroare.
  • mysqli_sqlstate: Returnează codul SQLSTATE (5 caractere) al ultimei erori de pe conexiune.
  • mysqli_stmt_error_list: Returnează lista erorilor ultimei operații a unei interogări pregătite, cu cod, SQLSTATE și mesaj.