PHP Conference Nagoya 2025

mysqli::$sqlstate

mysqli_sqlstate

(PHP 5, PHP 7, PHP 8)

mysqli::$sqlstate -- mysqli_sqlstateLiefert den SQLSTATE-Fehler der letzten MySQL-Operation

Beschreibung

Objektorientierter Stil

Prozeduraler Stil

mysqli_sqlstate(mysqli $mysql): string

Gibt eine Zeichenkette zurück, die den SQLSTATE-Fehlercode für den letzten Fehler enthält. Der Fehlercode besteht aus fünf Zeichen. '00000' bedeutet, dass kein Fehler aufgetreten ist. Die Werte werden durch ANSI-SQL und ODBC festgelegt. Eine Liste der möglichen Werte ist unter » http://dev.mysql.com/doc/mysql/en/error-handling.html zu finden.

Hinweis:

Es ist zu beachten, dass noch nicht alle MySQL-Fehler zu SQLSTATEs zugeordnet sind. Für Fehler, die noch nicht zugeordnet sind, wird der Wert HY000 (allgemeiner Fehler) verwendet.

Parameter-Liste

mysql

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

Rückgabewerte

Gibt eine Zeichenkette zurück, die den SQLSTATE-Fehlercode für den letzten Fehler enthält. Der Fehlercode besteht aus fünf Zeichen. '00000' bedeutet, dass kein Fehler aufgetreten ist.

Beispiele

Beispiel #1 $mysqli->sqlstate-Beispiel

Objektorientierter Stil

<?php

mysqli_report
(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* Da die Tabelle City bereits existiert, sollte ein Fehler auftreten */
try {
$mysqli->query("CREATE TABLE City (ID INT, Name VARCHAR(30))");
} catch (
mysqli_sql_exception) {
printf("Fehler - SQLSTATE %s.\n", $mysqli->sqlstate);
}

Prozeduraler Stil

<?php

mysqli_report
(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* Da die Tabelle City bereits existiert, sollte ein Fehler auftreten */
try {
mysqli_query($link, "CREATE TABLE City (ID INT, Name VARCHAR(30))");
} catch (
mysqli_sql_exception) {
printf("Fehler - SQLSTATE %s.\n", mysqli_sqlstate($link));
}

Die obigen Bespiele erzeugen folgende Ausgabe:

Fehler - SQLSTATE 42S01.

Siehe auch

  • mysqli_errno() - Liefert den Fehlercode des letzten Funktionsaufrufs
  • mysqli_error() - Liefert eine Zeichenkette, die den letzten Fehler beschreibt

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top