Funzione mysqli_sqlstate () di PHP

Definizione e utilizzo

Il mysqli_sqlstate() restituisce l'errore SQLSTATE che si è verificato durante l'ultima chiamata alla funzione MySQLi (operazione MySQL).

Sintassi

mysqli_sqlstate($con)

Parametri

Suor n Parametro e descrizione
1

con(Mandatory)

Questo è un oggetto che rappresenta una connessione a MySQL Server.

Valori restituiti

La funzione mysqli_sqlstate () di PHP restituisce un valore stringa che rappresenta l'errore SQLSTATE verificatosi durante l'ultima operazione MySQL. Se non ci sono errori questa funzione restituisce 00000 .

Versione PHP

Questa funzione è stata introdotta per la prima volta nella versione 5 di PHP e funziona in tutte le versioni successive.

Esempio

L'esempio seguente mostra l'utilizzo della funzione mysqli_sqlstate () (in stile procedurale) -

<?php
   //Creating a connection
   $con = mysqli_connect("localhost", "root", "password", "mydb");

   //Query to retrieve all the records of a table
   mysqli_query($con, "Select * from WrongTable");

   //SQL State
   $state = mysqli_sqlstate($con);
   print("SQL State Error: ".$state);

   //Closing the connection
   mysqli_close($con);
?>

Questo produrrà il seguente risultato:

SQL State Error: 42S02

Esempio

Nello stile orientato agli oggetti la sintassi di questa funzione è $ con -> sqlstate . Di seguito è riportato l'esempio di questa funzione in stile orientato agli oggetti:

<?php
   //Creating a connection
   $con = new mysqli("localhost", "root", "password", "mydb");

   //Query to retrieve all the records of the employee table
   $con -> query("Select FIRST_NAME, LAST_NAME, AGE form employee");

   //SQL State
   $state = $con->sqlstate;
   print("SQL State Error: ".$state);

   //Closing the connection
   $con -> close();
?>

Questo produrrà il seguente risultato:

SQL State Error: 42000

Esempio

Di seguito è riportato un altro esempio della funzione mysqli_sqlstate () -

<?php
   //Creating a connection
   $con = mysqli_connect("localhost", "root", "password", "mydb");

   //Query to SELECT all the rows of the employee table
   mysqli_query($con, "SELECT * FROM employee");
   print("SQL State Error: ".mysqli_sqlstate($con)."\n");

   //Query to UPDATE the rows of the employee table
   mysqli_query($con, "UPDATE employee set INCOME=INCOME+5000 where FIRST_NAME in (*)");
   print("SQL State Error: ".mysqli_sqlstate($con)."\n");

   //Query to INSERT a row into the employee table
   mysqli_query($con, "INSERT INTO employee VALUES (Archana, 'Mohonthy', 30, 'M', 13000, 106)");
   print("SQL State Error: ".mysqli_sqlstate($con)."\n");

   //Closing the connection
   mysqli_close($con);
?>

Questo produrrà il seguente risultato:

SQL State Error: 00000
SQL State Error: 42000
SQL State Error: 42S22

Esempio

<?php
   $connection_mysql = mysqli_connect("localhost", "root", "password", "mydb");
   
   if (mysqli_connect_errno($connection_mysql)){
      echo "Failed to connect to MySQL: " . mysqli_connect_error();
   }
   
   //Assume we already have a table named Persons in the database mydb
   $sql = "CREATE TABLE Persons (Firstname VARCHAR(30),Lastname VARCHAR(30),Age INT)";
   
   if (!mysqli_query($connection_mysql,$sql)){
      echo "SQLSTATE error: ". mysqli_sqlstate($connection_mysql);
   }
   
   mysqli_close($connection_mysql);
?>

Questo produrrà il seguente risultato:

SQLSTATE error: 42S01