PHP 菜鳥教程

PHP 高級(jí)教程

PHP & MySQL

PHP 參考手冊

PHP mysqli_sqlstate() 函數(shù)用法及示例

PHP MySQLi 參考手冊

mysqli_sqlstate()函數(shù)返回最后一個(gè)錯(cuò)誤的 SQLSTATE 錯(cuò)誤代碼。

定義和用法

mysqli_sqlstate()函數(shù)返回一個(gè)包含 SQLSTATE 錯(cuò)誤碼的字符串,表示上一次 SQL 操作的錯(cuò)誤。 錯(cuò)誤碼是由 5 個(gè)字符構(gòu)成,'00000' 表示沒有發(fā)生錯(cuò)誤。 錯(cuò)誤碼是由 ANSI SQL 和 ODBC 定義的。
注意: 需要注意的是,并不是所有的 MySQL 錯(cuò)誤都映射到 SQLSTATE 了, 未映射的錯(cuò)誤消息使用 HY000(綜合錯(cuò)誤)表示。

語法

mysqli_sqlstate($con)

參數(shù)

序號(hào)參數(shù)及說明
1

con(必需)

這是一個(gè)表示與MySQL Server的連接的對象。

返回值

PHP mysqli_sqlstate()函數(shù)返回一個(gè)字符串值,該字符串值表示在上一次MySQL操作期間發(fā)生的SQLSTATE錯(cuò)誤。如果沒有錯(cuò)誤,則此函數(shù)返回00000。

PHP版本

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

在線示例

以下示例演示了mysqli_sqlstate()函數(shù)的用法(面向過程風(fēng)格)-

<?php
   //建立連接
   $con = mysqli_connect("localhost", "root", "password", "mydb");

   //查詢以檢索表的所有記錄
   mysqli_query($con, "Select * from WrongTable");

   //SQL State
   $state = mysqli_sqlstate($con);
   print("SQL狀態(tài)錯(cuò)誤: ".$state);

   //關(guān)閉連接
   mysqli_close($con);
?>

輸出結(jié)果

SQL狀態(tài)錯(cuò)誤: 42S02

在線示例

在面向?qū)ο箫L(fēng)格中,此函數(shù)的語法為$con->sqlstate。以下是面向?qū)ο箫L(fēng)格此函數(shù)的示例-

<?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狀態(tài)錯(cuò)誤: ".$state);

   //關(guān)閉連接
   $con -> close();
?>

輸出結(jié)果

SQL狀態(tài)錯(cuò)誤: 42000

在線示例

以下是mysqli_sqlstate()函數(shù)的另一個(gè)示例-

<?php
   //建立連接
   $con = mysqli_connect("localhost", "root", "password", "mydb");

   //查詢以選擇employee表的所有行
   mysqli_query($con, "SELECT * FROM employee");
   print("SQL State Error: ".mysqli_sqlstate($con)."\n");

   //查詢以更新employee表的行
   mysqli_query($con, "UPDATE employee set INCOME=INCOME+5000 where FIRST_NAME in (*)");
   print("SQL State Error: ".mysqli_sqlstate($con)."\n");

   //查詢以在employee表中插入行
   mysqli_query($con, "INSERT INTO employee VALUES (Archana, 'Mohonthy', 30, 'M', 13000, 106)");
   print("SQL State Error: ".mysqli_sqlstate($con)."\n");

   //關(guān)閉連接
   mysqli_close($con);
?>

輸出結(jié)果

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

在線示例

返回最后一個(gè) MySQL 操作的 SQLSTATE 錯(cuò)誤代碼:

<?php
   $connection_mysql = mysqli_connect("localhost", "root", "password", "mydb");
   
   if (mysqli_connect_errno($connection_mysql)){
      echo "連接MySQL失敗: " . mysqli_connect_error();
   }
   
   //假設(shè)我們在數(shù)據(jù)庫mydb中已經(jīng)有一個(gè)名為Persons的表
   $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);
?>

輸出結(jié)果

SQLSTATE error: 42S01

PHP MySQLi 參考手冊

丰满人妻一级特黄a大片,午夜无码免费福利一级,欧美亚洲精品在线,国产婷婷成人久久Av免费高清