Die Funktion von MySQLI_STMT :: $ SQLSTATE () wird verwendet, um den SQL -Statuscode der letzten Anweisung Ausführung zu erhalten.
Verwendung:
string mysqli_stmt::$sqlstate();
Parameter: Diese Funktion hat keine Parameter.
Rückgabewert: Diese Funktion gibt einen Zeichenfolge zurück, der den SQL -Statuscode darstellt.
Beispiel:
// 创建数据库连接$mysqli = new mysqli("localhost", "username", "password", "database"); // 准备SQL语句$stmt = $mysqli->prepare("SELECT * FROM users WHERE age > ?"); // 绑定参数$age = 18; $stmt->bind_param("i", $age); // 执行查询$stmt->execute(); // 获取SQL状态码$sqlstate = $stmt->sqlstate(); if ($sqlstate == '00000') { echo "查询成功!"; } else { echo "查询失败,错误码:" . $sqlstate; } // 关闭语句和数据库连接$stmt->close(); $mysqli->close();
Im obigen Beispiel erstellen wir zunächst eine Datenbankverbindung und erstellen dann eine SQL -Anweisung mit Parametern mit der Methode Prepe (). Als nächstes verwenden wir die Methode Bind_param (), um einen Parameter zu binden und dann die Abfrage auszuführen. Schließlich verwenden wir die SQLState () -Methode, um den SQL -Statuscode der letzten Abfrage zu erhalten und verschiedene Nachrichten gemäß verschiedenen Statuscodes auszugeben.
Es ist zu beachten, dass der SQL-Statuscode eine fünfstellige Zeichenfolge ist, die mit einer Nummer beginnt, um einen unterschiedlichen SQL-Ausführungsstatus darzustellen. Im Beispiel bestimmen wir, ob der Statuscode '00000' ist, was darauf hinweist, dass die Abfrage erfolgreich ist. Wenn der Statuscode nicht '00000' ist, bedeutet dies, dass die Abfrage fehlgeschlagen ist und die Fehlerverarbeitung gemäß dem spezifischen Statuscode durchgeführt werden kann.