Funzione PHP mysqli_stmt_error ()

Definizione e utilizzo

Il mysqli_stmt_error() la funzione restituisce la descrizione dell'errore occorso durante l'esecuzione dell'ultima istruzione.

Sintassi

mysqli_stmt_error($stmt)

Parametri

Suor n Parametro e descrizione
1

stmt(Mandatory)

Questo è un oggetto che rappresenta una dichiarazione.

Valori restituiti

La funzione mysqli_stmt_error () di PHP restituisce un valore stringa che rappresenta la descrizione dell'errore occorso durante l'esecuzione dell'ultima istruzione. Se non ci sono errori questa funzione restituisce una stringa vuota.

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 dimostra l'utilizzo della funzione mysqli_stmt_error () (in stile procedurale) -

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

   mysqli_query($con, "CREATE TABLE myplayers(ID INT, First_Name VARCHAR(255), Last_Name VARCHAR(255), Place_Of_Birth VARCHAR(255), Country VARCHAR(255))");
   print("Table Created.....\n");
   mysqli_query($con, "INSERT INTO myplayers values(1, 'Sikhar', 'Dhawan', 'Delhi', 'India')");
   print("Record Inserted.....\n");

   $stmt = mysqli_prepare($con, "SELECT * FROM myplayers");

   mysqli_query($con, "DROP TABLE myplayers");

   //Executing the statement
   mysqli_stmt_execute($stmt);

   //Error 
   $error = mysqli_stmt_error($stmt);
   print("Error : ".$error);

   //Closing the statement
   mysqli_stmt_close($stmt);

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

Questo produrrà il seguente risultato:

Table Created.....
Record Inserted.....
Error : Table 'mydb.myplayers' doesn't exist

Esempio

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

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

   $con -> query("CREATE TABLE myplayers(ID INT, First_Name VARCHAR(255), Last_Name VARCHAR(255), Place_Of_Birth VARCHAR(255), Country VARCHAR(255))");
   print("Table Created.....\n");
   $con -> query("INSERT INTO myplayers values(1, 'Sikhar', 'Dhawan', 'Delhi', 'India')");
   print("Record Inserted.....\n");

   $stmt = $con ->prepare("SELECT * FROM myplayers");

   $con ->query("DROP TABLE myplayers");

   //Executing the statement
   $stmt->execute();

   //Error
   $error = $stmt ->error;
   print("Error: ".$error);

   //Closing the statement
   $stmt->close();

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

Questo produrrà il seguente risultato:

Table Created.....
Record Inserted.....
Error : Table 'mydb.myplayers' doesn't exist

Esempio

Se non ci sono errori nell'ultimo oggetto istruzione eseguito questa funzione restituisce una stringa vuota -

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

   mysqli_query($con, "CREATE TABLE myplayers(ID INT, First_Name VARCHAR(255), Last_Name VARCHAR(255), Place_Of_Birth VARCHAR(255), Country VARCHAR(255))");
   print("Table Created.....\n");

   $query = "INSERT INTO myplayers values(1, 'Sikhar', 'Dhawan', 'Delhi', 'India'),(2, 'Jonathan', 'Trott', 'CapeTown', 'SouthAfrica'),(3, 'Kumara', 'Sangakkara', 'Matale', 'Srilanka')";

   //Preparing a statement
   $stmt = mysqli_prepare($con, $query);

   //Executing the statement
   mysqli_stmt_execute($stmt);
   print("Record Inserted.....\n");

   //Error 
   $error = mysqli_stmt_error($stmt);
   print("Error : ".$error);

   //Closing the statement
   mysqli_stmt_close($stmt);

   //Closing the connection
   mysqli_close($con);

?>

Questo produrrà il seguente risultato:

Table Created.....
Record Inserted.....
Error :