mysqli_stmt_error în PHP

Returnează mesajul ultimei erori a unei interogări pregătite, sau text gol.

Sintaxă
mysqli_stmt_error(mysqli_stmt $statement): string

Ce face mysqli_stmt_error

Este varianta pentru interogări pregătite a lui mysqli_error. Mesajul vine de la serverul MySQL, în engleză.

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
$statement Interogarea pregătită.

Ce returnează

Mesajul de eroare sau "".

Exemple

Exemplul 1: Mesajul erorii

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

$stmt = mysqli_prepare($conn, "INSERT INTO produse (nume, pret, stoc) VALUES (?, 100, 1)");
$nume = null;
mysqli_stmt_bind_param($stmt, "s", $nume);

if (!mysqli_stmt_execute($stmt)) {
    error_log("MySQL: " . mysqli_stmt_error($stmt));
    echo mysqli_stmt_error($stmt);
}

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

Column 'nume' cannot be null

Greșeli frecvente

  • Afișezi mesajul vizitatorilor. Conține nume de coloane și tabele; scrie-l în jurnal și arată un mesaj general.

Comenzi înrudite

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