函数:PDO::errorInfo()
适用版本:PHP 5 >= 5.1.0, PHP 7, PHP 8
用法:PDO::errorInfo() 方法用于获取最后一次执行的 PDOStatement 对象相关的错误信息。它返回一个包含错误信息的数组。
语法:array PDO::errorInfo ( void )
示例:
try {
$pdo = new PDO('mysql:host=localhost;dbname=test', 'username', 'password');
$stmt = $pdo->prepare("SELECT * FROM users");
$stmt->execute();
// 检查是否有错误
$errorInfo = $stmt->errorInfo();
if ($errorInfo[0] !== '00000') {
echo "错误代码: " . $errorInfo[0] . "<br>";
echo "错误信息: " . $errorInfo[2] . "<br>";
} else {
// 处理结果集
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
echo $row['username'] . "<br>";
}
}
} catch (PDOException $e) {
echo "连接数据库失败: " . $e->getMessage();
}
在上面的示例中,我们首先创建了一个 PDO 对象并连接到数据库。然后,我们准备了一个 SELECT 查询并执行它。接下来,我们使用 errorInfo()
方法检查是否有错误发生。如果有错误,我们打印出错误代码和错误信息。如果没有错误,我们循环遍历结果集并输出用户名。
请注意,errorInfo()
方法返回的数组包含三个元素:错误代码、错误信息和驱动程序特定的错误信息。我们可以使用 $errorInfo[0]
来获取错误代码,$errorInfo[1]
来获取驱动程序特定的错误代码,$errorInfo[2]
来获取错误信息。在上面的示例中,我们只打印了错误代码和错误信息。