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

Manuale di base PHP

Manuale avanzato PHP

PHP & MySQL

Manuale di riferimento PHP

Uso e esempio della funzione mysqli_sqlstate() in PHP

PHP MySQLi Manuale di Referenza

La funzione mysqli_sqlstate() restituisce il codice di errore SQLSTATE dell'ultimo errore SQL.

定义和用法

mysqli_sqlstate()函数返回一个包含 SQLSTATE 错误码的字符串,表示上一次 SQL 操作的错误。 错误码是由 5 个字符构成,'00000' 表示没有发生错误。 错误码是由 ANSI SQL 和 ODBC 定义的。
注意: 需要注意的是,并不是所有的 MySQL 错误都映射到 SQLSTATE 了, 未映射的错误消息使用 HY000(综合错误)表示。

语法

mysqli_sqlstate($con)

参数

序号参数及说明
1

con(必需)

这是一个表示与MySQL Server的连接的对象。

返回值

PHP mysqli_sqlstate()函数返回一个字符串值,该字符串值表示在上一次MySQL操作期间发生的SQLSTATE错误。如果没有错误,则此函数返回00000

PHP版本

此函数最初是在PHP版本5中引入的,并且可以在所有更高版本中使用。

Esempio Online

以下示例演示了mysqli_sqlstate()函数的用法(面向过程风格)-

<?php
   //建立连接
   $con = mysqli_connect("localhost", "root", "password", "mydb");
   //查询以检索表的所有记录
   mysqli_query($con, "Select * from WrongTable");
   //SQL State
   $state = mysqli_sqlstate($con);
   print("SQL状态错误: ". $state);
   //Chiudi la connessione
   mysqli_close($con);
?>

Risultato di Output

SQL状态错误: 42S02

Esempio Online

在面向对象风格中,此函数的语法为$con->sqlstate。以下是面向对象风格此函数的示例-

<?php
   //建立连接
   $con = new mysqli("localhost", "root", "password", "mydb");
   //查询以检索employee表的所有记录
   $con -> query("Select FIRST_NAME, LAST_NAME, AGE form employee");
   //SQL State
   $state = $con->sqlstate;
   print("SQL状态错误: ". $state);
   //Chiudi la connessione
   $con -> close();
?>

Risultato di Output

SQL状态错误: 42000

Esempio Online

以下是mysqli_sqlstate()函数的另一个示例-

<?php
   //建立连接
   $con = mysqli_connect("localhost", "root", "password", "mydb");
   //查询以选择employee表的所有行
   mysqli_query($con, "SELECT * FROM employee");
   print("Errore SQL State: ". mysqli_sqlstate($con)."\n");
   //Query per aggiornare una riga nella tabella employee
   mysqli_query($con, "UPDATE employee set INCOME=INCOME+5000 where FIRST_NAME in (*)");
   print("Errore SQL State: ". mysqli_sqlstate($con)."\n");
   //Query per inserire una riga nella tabella employee
   mysqli_query($con, "INSERT INTO employee VALUES (Archana, 'Mohonthy', 30, 'M', 13000, 106)");
   print("Errore SQL State: ". mysqli_sqlstate($con)."\n");
   //Chiudi la connessione
   mysqli_close($con);
?>

Risultato di Output

Errore SQL State: 00000
Errore SQL State: 42000
Errore SQL State: 42S22

Esempio Online

Restituisce il codice di errore SQLSTATE dell'ultima operazione MySQL:

<?php
   $connection_mysql = mysqli_connect("localhost", "root", "password", "mydb");
   
   if (mysqli_connect_errno($connection_mysql)){
      echo "Connessione MySQL fallita: ". mysqli_connect_error();
   }
   
   //Supponiamo che nel database mydb ci sia una tabella chiamata Persons
   $sql = "CREATE TABLE Persons (Firstname VARCHAR(30), Lastname VARCHAR(30), Age INT)";
   
   if (!mysqli_query($connection_mysql, $sql)){
      echo "Errore SQLSTATE: ". mysqli_sqlstate($connection_mysql);
   }
   
   mysqli_close($connection_mysql);
?>

Risultato di Output

Errore SQLSTATE: 42S01

PHP MySQLi Manuale di Referenza