PDO::errorInfo¶
(PHP 5 >= 5.1.0, PHP 7, PHP 8, PECL pdo >= 0.1.0)
PDO::errorInfo — 获取与数据库句柄上的最后一个操作关联的扩展错误信息
说明¶
public PDO::errorInfo(): array
参数¶
此函数没有参数。
返回值¶
PDO::errorInfo() 返回有关此数据库句柄执行的最后一个操作的错误信息数组。该数组至少由以下字段组成:
元素信息
| N o | 描述 |
|---|---|
| 0 | SQLSTATE 错误代码(在 ANSI SQL 标准中定义 的五个字符的字母数字标识符)。 |
| 1 | 特定于驱动程序的错误代码。 |
| 2 | 特定于驱动程序的错误消息。 |
警告
注意: 如果未设置 SQLSTATE 错误代码或没有特定于驱动程序的错误,则元素 0 后面的元素将设置为 null.
PDO::errorInfo() 仅检索直接在数据库句柄上执行的操作的错误信息。如果通过 PDO::prepare() 或 PDO::query() 创建 PDOStatement 对象,并在语句句柄上调用错误,则 PDO::errorInfo() 将不会反映语句句柄中的错误。 必须调用 PDOStatement::errorInfo() 才能返回对特定语句句柄执行的操作的错误信息
示例¶
示例 #1 显示与数据库的PDO连接的 errorInfo() 字段
<?php
/* Provoke an error -- bogus SQL syntax */
$stmt = $dbh->prepare('bogus sql');
if (!$stmt) {
echo "\nPDO::errorInfo():\n";
print_r($dbh->errorInfo());
}
?>
以上例程会输出:
PDO::errorInfo():
Array
(
[0] => HY000
[1] => 1
[2] => near "bogus": syntax error
)
参见
- PDO::errorCode() - 获取跟数据库句柄上一次操作相关的 SQLSTATE
- PDOStatement::errorCode() - 获取跟上一次语句句柄操作相关的 SQLSTATE
- PDOStatement::errorInfo() - 获取跟上一次语句句柄操作相关的扩展错误信息