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.