首页 >数据库 >mysql教程 >如何从 PHP 中的 PDO 准备语句中检索 SQL 错误?

如何从 PHP 中的 PDO 准备语句中检索 SQL 错误?

Barbara Streisand
Barbara Streisand原创
2024-12-15 20:47:17837浏览

How to Retrieve SQL Errors from PDO Prepared Statements in PHP?

在 PHP 中检索 PDO/Prepare 中的 SQL 错误

使用

检查 MySQL 查询中的故意错误🎜>prepare()

PDO PHP 中的方法,请遵循这些步骤:

1.设置错误模式属性

使用

setAttribute()
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
方法将错误模式属性设置为 PDO::ERRMODE_EXCEPTION 以启用异常处理。如果发生错误,这将导致准备方法抛出异常:

2.禁用模拟

$db->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
通过将 PDO::ATTR_EMULATE_PREPARES 设置为 false 来禁用它。这是必要的,因为 MySQL 服务器在执行之前可能不会评估准备好的语句,从而更难检测错误:

示例:

try {
    $st = $db->prepare("SELECT * FROM c6ode");
} catch (PDOException $e) {
    // Handle the exception and display the error message
}
以下代码准备查询“SELECT * FROM c6ode”,如果表 c6ode 不存在则抛出异常存在:

异常输出:

SQLSTATE[42S02]: Base table or view not found: 1146 Table 'test.c6ode' doesn't exist
执行上述代码(c6ode不存在)将打印一条异常消息,指示该表不存在:

以上是如何从 PHP 中的 PDO 准备语句中检索 SQL 错误?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn