English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Die mysqli_sqlstate() -Funktion gibt den letzten SQLSTATE-Fehlercode zurück.
mysqli_sqlstate()Die Funktion gibt eine Zeichenfolge zurück, die den SQLSTATE-Fehlercode enthält, der von der letzten SQL-Operation verursacht wurde. Der Fehlercode ist von 5 Zeichen bestehen aus, '00000' bedeutet, dass kein Fehler aufgetreten ist. Der Fehlercode ist von ANSI SQL und ODBC definiert.
Hinweis: Zu beachten ist, dass nicht alle MySQL-Fehler in SQLSTATE gemappt werden, Fehlermeldungen, die nicht gemappt werden, werden mit HY000 (Kombinierter Fehler) dargestellt.
mysqli_sqlstate($con)
Nummer | Parameter und Beschreibung |
---|---|
1 | con(Notwendig) Dies ist ein Objekt, das eine Verbindung zum MySQL Server darstellt. |
Die PHP mysqli_sqlstate() -Funktion gibt einen Zeichenfolgenwert zurück, der den SQLSTATE-Fehlercode angibt, der während der letzten MySQL-Operation aufgetreten ist. Wenn kein Fehler aufgetreten ist, gibt diese Funktion00000.
Diese Funktion wurde ursprünglich in der PHP-Version5eingeführt und kann in allen höheren Versionen verwendet werden.
Hier ist ein Beispiel fürmysqli_sqlstate()Verwendung der Funktion (prozeduraler Stil)-
<?php //Verbindung herstellen $con = mysqli_connect("localhost", "root", "password", "mydb"); //Eine Abfrage, um alle Einträge der Tabelle abzurufen mysqli_query($con, "Select * from WrongTable"); //SQL State $state = mysqli_sqlstate($con); print("SQL-Statusfehler: " . $state); //Verbindung schließen mysqli_close($con); ?>
Ausgabeergebnis
SQL-Statusfehler: 42S02
In der objektorientierten Stil, die Syntax dieser Funktion ist$con-> sqlstateHier ist ein Beispiel für diese Funktion in der objektorientierten Stil-
<?php //Verbindung herstellen $con = new mysqli("localhost", "root", "password", "mydb"); //Eine Abfrage, um alle Einträge der Tabelle employee abzurufen $con -> query("Select FIRST_NAME, LAST_NAME, AGE from employee"); //SQL State $state = $con-> sqlstate; print("SQL-Statusfehler: " . $state); //Verbindung schließen $con -> close(); ?>
Ausgabeergebnis
SQL-Statusfehler: 42000
Hier istmysqli_sqlstate()Ein weiteres Beispiel für eine Funktion-
<?php //Verbindung herstellen $con = mysqli_connect("localhost", "root", "password", "mydb"); //Abfrage, um alle Zeilen der Tabelle employee auszuwählen mysqli_query($con, "SELECT * FROM employee"); print("SQL State Fehler: " . mysqli_sqlstate($con) . "\n"); //Abfrage, um Zeilen in der Tabelle employee zu aktualisieren mysqli_query($con, "UPDATE employee SET INCOME=INCOME+5000 WHERE FIRST_NAME IN (*); print("SQL State Fehler: " . mysqli_sqlstate($con) . "\n"); //Abfrage, um eine Zeile in die Tabelle employee einzufügen mysqli_query($con, "INSERT INTO employee VALUES (Archana, 'Mohonthy', 30, 'M', 13000, 106); print("SQL State Fehler: " . mysqli_sqlstate($con) . "\n"); //Verbindung schließen mysqli_close($con); ?>
Ausgabeergebnis
SQL State Fehler: 00000 SQL State Fehler: 42000 SQL State Fehler: 42S22
Gibt den SQLSTATE-Fehlercode der letzten MySQL-Operation zurück:
<?php $connection_mysql = mysqli_connect("localhost", "root", "password", "mydb"); if (mysqli_connect_errno($connection_mysql)){ echo "MySQL-Verbindung fehlgeschlagen: " . mysqli_connect_error(); } //Angenommen, wir haben in der Datenbank mydb bereits eine Tabelle namens Personen $sql = "CREATE TABLE Personen (Vorname VARCHAR(30), Nachname VARCHAR(30), Alter INT)"; if (!mysqli_query($connection_mysql, $sql)){ echo "SQLSTATE-Fehler: " . mysqli_sqlstate($connection_mysql); } mysqli_close($connection_mysql); ?>
Ausgabeergebnis
SQLSTATE-Fehler: 42S01