mysqli_stmt::$sqlstate

mysqli_stmt_sqlstate

(PHP 5, PHP 7, PHP 8)

mysqli_stmt::$sqlstate -- mysqli_stmt_sqlstateLiefert den SQLSTATE-Fehlercode der letzten Anweisung

Beschreibung

Objektorientierter Stil

Prozeduraler Stil

mysqli_stmt_sqlstate(mysqli_stmt$statement): string

Gibt eine Zeichenkette mit dem SQLSTATE-Fehlercode der zuletzt aufgerufenen Funktion (des Prepared Statements) zurück, die entweder erfolgreich oder fehlerhaft beendet werden konnte. Der Fehlercode besteht aus fünf Zeichen. '00000' bedeutet kein Fehler. Die möglichen Werte sind durch ANSI SQL oder ODBC spezifiziert. Für eine Liste möglicher Werte siehe » http://dev.mysql.com/doc/mysql/en/error-handling.html.

Parameter-Liste

statement

Nur bei prozeduralem Aufruf: ein von mysqli_stmt_init() zurückgegebenes mysqli_stmt-Objekt.

Rückgabewerte

Gibt eine Zeichenkette mit dem SQLSTATE-Fehlercode des letzten Fehlers zurück. Der Fehlercode besteht aus fünf Zeichen. '00000' bedeutet kein Fehler.

Beispiele

Beispiel #1 Objektorientierter Stil

<?php

$mysqli = new mysqli("localhost", "my_user", "my_password", "world");


if (mysqli_connect_errno()) {
printf("Verbindung fehlgeschlagen: %s\n", mysqli_connect_error());
exit();
}

$mysqli->query("CREATE TABLE myCountry LIKE Country");
$mysqli->query("INSERT INTO myCountry SELECT * FROM Country");


$query = "SELECT Name, Code FROM myCountry ORDER BY Name";
if (
$stmt = $mysqli->prepare($query)) {


$mysqli->query("DROP TABLE myCountry");


$stmt->execute();

printf("Fehler: %s.\n", $stmt->sqlstate);


$stmt->close();
}


$mysqli->close();
?>

Beispiel #2 Prozeduraler Stil

<?php

$link = mysqli_connect("localhost", "my_user", "my_password", "world");


if (mysqli_connect_errno()) {
printf("Verbindung fehlgeschlagen: %s\n", mysqli_connect_error());
exit();
}

mysqli_query($link, "CREATE TABLE myCountry LIKE Country");
mysqli_query($link, "INSERT INTO myCountry SELECT * FROM Country");


$query = "SELECT Name, Code FROM myCountry ORDER BY Name";
if (
$stmt = mysqli_prepare($link, $query)) {


mysqli_query($link, "DROP TABLE myCountry");


mysqli_stmt_execute($stmt);

printf("Fehler: %s.\n", mysqli_stmt_sqlstate($stmt));


mysqli_stmt_close($stmt);
}


mysqli_close($link);
?>

Die obigen Bespiele erzeugen folgende Ausgabe:

Fehler: 42S02.

Anmerkungen

Hinweis:

Anchtung! Nicht alle MySQL-Fehler können auf SQLSTATE-Codes abgebildet werden. Der Wert HY000 (Allgemeiner Fehler) wird für nicht abgebildete MySQL-Fehler verwendet.

Siehe auch

To Top