在 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中文网其他相关文章!