首页 > 后端开发 > php教程 > 如何检索 PHP 中的 PDO Prepare() 查询错误?

如何检索 PHP 中的 PDO Prepare() 查询错误?

Barbara Streisand
发布: 2024-12-06 22:40:12
原创
173 人浏览过

How Can I Retrieve PDO Prepare() Query Errors in PHP?

从 PDO PHP 中的prepare()检索查询错误

使用 PDO PHP 准备查询时,必须检查是否存在任何潜在的错误错误。默认情况下,PDO 不会针对查询准备期间遇到的错误引发异常。要启用错误处理,您可以利用 PDO::ATTR_ERRMODE 属性。

解决方案

  • 将 PDO::ATTR_ERRMODE 设置为 PDO::ERRMODE_EXCEPTION : 通过设置这个属性,prepare()如果出错就会抛出异常
  • 禁用 PDO::ATTR_EMULATE_PREPARES: 要确保 MySQL 服务器在 prepare() 期间处理查询,请禁用此属性。仿真有时会阻止服务器在查询执行之前检测到错误。

示例:

$pdo = new PDO('mysql:host=localhost;dbname=test;charset=utf8', 'localonly', 'localonly');
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
$pdo->prepare('INSERT INTO DoesNotExist (x) VALUES (?)');
登录后复制

如果提供的查询包含无效语法,PDO 将抛出错误具有以下信息的例外:

SQLSTATE[42S02]: Base table or view not found: 
1146 Table 'test.doesnotexist' doesn't exist
登录后复制

以上是如何检索 PHP 中的 PDO Prepare() 查询错误?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板