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.
本文档系腾讯云开发者社区成员共同维护,如有问题请联系 cloudcommunity@tencent.com