PHP mysqli sqlstate() 函数

定义和用法

sqlstate / mysqli_sqlstate() 函数返回最后一个错误的 SQLSTATE 错误代码。

错误代码由五个字符组成。"00000" 表示没有错误。这些值由 ANSI SQL 和 ODBC 指定。

实例

例子 1 - 面向对象风格

返回最后一个错误的 SQLSTATE 错误代码:

<?php
$mysqli = new mysqli("localhost","my_user","my_password","my_db");

if ($mysqli -> connect_errno) {
  echo "Failed to connect to MySQL: " . $mysqli -> connect_error;
  exit();
}

// 表 Persons 已经存在,因此我们应该会得到一个错误
$sql = "CREATE TABLE Persons (Firstname VARCHAR(30), Lastname VARCHAR(30), Age INT)"
if (!$mysqli -> query($sql)) {
  echo "SQLSTATE error: ". $mysqli -> sqlstate;
}

$mysqli -> close();
?>

例子 2 - 过程式风格

返回最后一个错误的 SQLSTATE 错误代码:

<?php
$con=mysqli_connect("localhost","my_user","my_password","my_db");

// 检查连接
if (mysqli_connect_errno()) {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  exit;
}

// 表 Persons 已经存在,因此我们应该会得到一个错误
$sql = "CREATE TABLE Persons (Firstname VARCHAR(30), Lastname VARCHAR(30), Age INT)"
if (!mysqli_query($con, $sql)) {
  echo "SQLSTATE error: ". mysqli_sqlstate($con);
}

// Close connection
mysqli_close($con);
?>

语法

面向对象风格:

$mysqli -> sqlstate

过程式风格:

mysqli_sqlstate(connection)
参数 描述
connection 必需。指定要使用的 MySQL 连接。

技术细节

返回值: 包含最后一个错误的 SQLSTATE 错误代码的字符串。
PHP 版本: 5+