English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
PHP MySQLi Manuale di riferimento
La funzione mysqli_stmt_sqlstate() restituisce l'errore SQLSTATE dell'ultima operazione di statement.
mysqli_stmt_sqlstate()La funzione restituisce l'errore SQLSTATE che si è verificato durante l'esecuzione dell'ultimo comando.
mysqli_stmt_sqlstate($stmt);
Numero | Parametri e descrizione |
---|---|
1 | stmt(obbligatorio) Questo è un oggetto rappresentante la statement (già preparata). |
La funzione PHP mysqli_stmt_sqlstate() restituisce un valore di stringa che rappresenta l'errore SQLSTATE che si è verificato durante l'esecuzione dell'ultimo comando. Se non ci sono errori, questa funzione restituisce00000.
Questa funzione è stata introdotta nella versione PHP 5 e può essere utilizzata in tutte le versioni successive.
Ecco un esempio di questomysqli_stmt_sqlstate()Uso della funzione (stile procedurale) -
<?php $con = mysqli_connect("localhost", "root", "password", "mydb"); mysqli_query($con, "CREATE TABLE emp(ID INT, FirstName VARCHAR(20))"); print("Creazione della tabella.....\n"); $stmt = mysqli_prepare($con, "INSERT INTO emp (ID) VALUES (?)"); mysqli_stmt_bind_param($stmt, "s", $id); $id = 'test'; //Esecuzione della statement mysqli_stmt_execute($stmt); // Stato $state = mysqli_stmt_sqlstate($stmt); print("stato: ". $state); //Fine della statement mysqli_stmt_close($stmt); //Chiusura della connessione mysqli_close($con); ?>
Risultato dell'output
Creazione della tabella..... state: HY000
Nel estilo orientato agli oggetti, la sintassi di questa funzione è$con-> sqlstate. Ecco un esempio di funzione in stile orientato agli oggetti -
<?php // Creazione della connessione $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("Creazione della tabella.....\n"); $con -> query("INSERT INTO myplayers values(1, 'Sikhar', 'Dhawan', 'Delhi', 'India')"); print("Inserimento record.....\n"); $stmt = $con -> prepare("SELECT * FROM myplayers"); $con -> query("DROP TABLE myplayers"); //Esecuzione della statement $stmt->execute(); //SQL State $state = $stmt -> sqlstate; print("SQL State: ". $state); //Fine della statement $stmt->close(); //Chiusura della connessione $con->close(); ?>
Risultato dell'output
Creazione della tabella..... Inserimento dei record..... SQL State: 42S02
Eccomysqli_stmt_sqlstate()Un altro esempio di funzione-
<?php $con = mysqli_connect("localhost", "root", "password", "mydb"); mysqli_query($con, 'CREATE TABLE emp(ID INT, FirstName VARCHAR(20), LastName VARCHAR(5), DateOfBirth VARCHAR(255), Salary INT)'); print("Creazione della tabella.....\n"); $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; //Esecuzione della statement mysqli_stmt_execute($stmt); //Avvisi $state = mysqli_stmt_sqlstate($stmt); print("stato: ". $state); //Fine della statement mysqli_stmt_close($stmt); //Chiusura della connessione mysqli_close($con); ?>
Risultato dell'output
Creazione della tabella..... stato: 22001