English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Die mysqli_stmt_sqlstate() -Funktion gibt den SQLSTATE-Fehler von der letzten Abfrageoperation zurück
mysqli_stmt_sqlstate()Diese Funktion gibt den SQLSTATE-Fehler zurück, der während der Ausführung des letzten Statements aufgetreten ist.
mysqli_stmt_sqlstate($stmt);
Nummer | Parameter und Beschreibung |
---|---|
1 | stmt(Notwendig) Dies ist ein Objekt, das die Abfrage darstellt (bereits vorbereitet). |
Die PHP mysqli_stmt_sqlstate() -Funktion gibt einen Zeichenkettenwert zurück, der die während der Ausführung des letzten Statements发生的SQLSTATE-Fehler anzeigt. Wenn es keinen Fehler gibt, gibt diese Funktion00000。
Diese Funktion wurde ursprünglich in der PHP-Version5hinzugefügt und kann in allen höheren Versionen verwendet werden.
Hier ist ein Beispiel dazumysqli_stmt_sqlstate()Verwendung der Funktion (prozeduraler Stil)-
<?php $con = mysqli_connect("localhost", "root", "password", "mydb"); mysqli_query($con, 'CREATE TABLE emp(ID INT, Vorname VARCHAR(20))"); print("Tabelle erstellen... "); $stmt = mysqli_prepare($con, "Einfügen IN EMP (ID) Werte (?")"); mysqli_stmt_bind_param($stmt, "s", $id); $id = 'test'; //Anweisung ausführen mysqli_stmt_execute($stmt); //State $state = mysqli_stmt_sqlstate($stmt); print("state: ".$state); //Anweisung beenden mysqli_stmt_close($stmt); //Verbindung schließen mysqli_close($con); ?>
Ausgabeergebnis
Tabelle erstellen... state: HY000
In der objektorientierten Syntax der Funktion ist$con-> sqlstate。Hier ist ein Beispiel für eine objektorientierte Version dieser Funktion-
<?php //Verbindung herstellen $con = new mysqli("localhost", "root", "password", "mydb"); $con -> query("Erstellen TABELLE MYPLAYERS(ID INT, Erstname VARCHAR(255), Nachname VARCHAR(255), Geburtsort VARCHAR(255), Land VARCHAR(255))"); print("Tabelle erstellen... "); $con -> query("Einfügen IN MYPLAYERS Werte (1, 'Sikhar', 'Dhawan', 'Delhi', 'India')"); print("Einfügen von Datensätzen.....\n"); $stmt = $con ->prepare("SELECT * FROM myplayers"); $con ->query("DROP TABLE myplayers"); //Anweisung ausführen $stmt->execute(); //SQl State $state = $stmt ->sqlstate; print("SQL State: ".$state); //Anweisung beenden $stmt->close(); //Verbindung schließen $con->close(); ?>
Ausgabeergebnis
Tabelle erstellen... Eintrag einfügen... SQL State: 42S02
Hier istmysqli_stmt_sqlstate()Ein weiteres Beispiel für die Funktion-
<?php $con = mysqli_connect("localhost", "root", "password", "mydb"); mysqli_query($con, 'CREATE TABLE emp(ID INT, Vorname VARCHAR(20), Nachname VARCHAR(5), Geburtsdatum VARCHAR(255), Gehalt INT)"); print("Tabelle erstellen... "); $stmt = mysqli_prepare($con, 'INSERT INTO emp values(?, ?, ?, ?, ?'); mysqli_stmt_bind_param($stmt, 'isssi', $id, $fname, $lname, $pob, $country); $id = 1; $fname = 'Swetha'; $lname = 'Yellapragada'; $dob = DATE('1981-12-05); $country = 2366; //Anweisung ausführen mysqli_stmt_execute($stmt); //Warnungen $state = mysqli_stmt_sqlstate($stmt); print("state: ".$state); //Anweisung beenden mysqli_stmt_close($stmt); //Verbindung schließen mysqli_close($con); ?>
Ausgabeergebnis
Tabelle erstellen... state: 22001