PHP
Database/MySQL

mysqli_stmt::$sqlstate

mysqli_stmt::$sqlstate

mysqli_stmt_sqlstate

(PHP 5, PHP 7)

mysqli_stmt :: $ sqlstate - mysqli_stmt_sqlstate - 从前面的语句操作返回SQLSTATE错误

描述

面向对象的风格

string $mysqli_stmt->sqlstate;

程序风格

string mysqli_stmt_sqlstate ( mysqli_stmt $stmt )

返回一个字符串,其中包含可以成功或失败的最近调用的预准备语句函数的SQLSTATE错误代码。错误代码由五个字符组成。'00000'表示没有错误。这些值由ANSI SQL和ODBC指定。有关可能值的列表,请参阅»http://dev.mysql.com/doc/mysql/en/error-handling.html。

参数

`stmt`

仅过程风格:由mysqli_stmt_init()返回的语句标识符。

返回值

返回包含上次错误的SQLSTATE错误代码的字符串。错误代码由五个字符组成。'00000'表示没有错误。

注释

注意:并不是所有的MySQL错误都被映射到SQLSTATE的。值HY000(一般错误)用于未映射的错误。

例子

Example #1 Object oriented style

<?php /* Open a connection */ $mysqli = new mysqli("localhost", "my_user", "my_password", "world" /* check connection */ if (mysqli_connect_errno()) {     printf("Connect failed: %s\n", mysqli_connect_error()     exit( } $mysqli->query("CREATE TABLE myCountry LIKE Country" $mysqli->query("INSERT INTO myCountry SELECT * FROM Country" $query = "SELECT Name, Code FROM myCountry ORDER BY Name"; if ($stmt = $mysqli->prepare($query)) {     /* drop table */     $mysqli->query("DROP TABLE myCountry"     /* execute query */     $stmt->execute(     printf("Error: %s.\n", $stmt->sqlstate     /* close statement */     $stmt->close( } /* close connection */ $mysqli->close( ?>

Example #2 Procedural style

<?php /* Open a connection */ $link = mysqli_connect("localhost", "my_user", "my_password", "world" /* check connection */ if (mysqli_connect_errno()) {     printf("Connect failed: %s\n", mysqli_connect_error()     exit( } mysqli_query($link, "CREATE TABLE myCountry LIKE Country" mysqli_query($link, "INSERT INTO myCountry SELECT * FROM Country" $query = "SELECT Name, Code FROM myCountry ORDER BY Name"; if ($stmt = mysqli_prepare($link, $query)) {     /* drop table */     mysqli_query($link, "DROP TABLE myCountry"     /* execute query */     mysqli_stmt_execute($stmt     printf("Error: %s.\n", mysqli_stmt_sqlstate($stmt)     /* close statement */     mysqli_stmt_close($stmt } /* close connection */ mysqli_close($link ?>

上面的例子会输出:

Error: 42S02.