首页 > 后端开发 > php教程 > 为什么我的 PDO 查询不显示错误消息?

为什么我的 PDO 查询不显示错误消息?

Linda Hamilton
发布: 2024-12-26 04:54:15
原创
319 人浏览过

Why Aren't My PDO Queries Showing Error Messages?

PDO 参考:解决常见数据库连接错误

简介

PDO(PHP 数据对象) )提供了强大的数据库交互,但由于其特定功能,用户经常遇到错误。本文旨在解决最普遍的问题之一:在 PDO 查询期间无法检索错误消息。

查询失败且没有错误消息

当 PDO 查询时失败时,错误消息可能不会立即显现出来。要启用错误可见性,必须将 PDO 错误模式设置为 PDO::ERRMODE_EXCEPTION。异常提供堆栈跟踪,可以使用 try..catch 块进行处理。

示例:

$dsn = "mysql:host=$host;dbname=$db;charset=utf8";
$opt = [
    PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
];
$pdo = new PDO($dsn, $user, $pass, $opt);
登录后复制

显示错误

此外,必须配置错误报告设置才能显示错误。对于实时站点,启用错误日志记录,而对于本地开发,错误可以显示在屏幕上:

实时站点:

error_reporting(E_ALL);
ini_set('display_errors', 0);
ini_set('log_errors', 1);
登录后复制

本地开发:

error_reporting(E_ALL);
ini_set('display_errors', 1);
登录后复制

避免错误抑制

永远不要在 PDO 语句之前使用错误抑制运算符 (@)。

避免不必要的 try..catch 块

未捕获的异常提供有价值的错误信息,无需自定义错误处理。仅在处理错误时使用 try..catch,例如回滚事务。

以上是为什么我的 PDO 查询不显示错误消息?的详细内容。更多信息请关注PHP中文网其他相关文章!

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