English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

PHP Grundanleitung

PHP Fortgeschrittene Anleitung

PHP & MySQL

PHP Referenzhandbuch

Verwendung und Beispiel der PHP mysqli_sqlstate() -Funktion

PHP MySQLi Referenzhandbuch

Die mysqli_sqlstate() -Funktion gibt den letzten SQLSTATE-Fehlercode zurück.

Definition und Verwendung

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.

Syntax

mysqli_sqlstate($con)

Parameter

NummerParameter und Beschreibung
1

con(Notwendig)

Dies ist ein Objekt, das eine Verbindung zum MySQL Server darstellt.

Rückgabewert

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.

PHP-Version

Diese Funktion wurde ursprünglich in der PHP-Version5eingeführt und kann in allen höheren Versionen verwendet werden.

Online-Beispiel

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

Online-Beispiel

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

Online-Beispiel

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

Online-Beispiel

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

PHP MySQLi Referenzhandbuch