php怎么pd复选框是否选中,php-参考-有关PD的常见问题

本文介绍了如何在PDO查询失败时通过设置ERRMODE_EXCEPTION获取错误消息,强调了异常处理在数据库操作中的优势,并给出了正确的PDO连接示例。同时,讨论了避免过度使用try..catch和错误抑制的重要性,提倡使用未处理的异常以保持代码安全和效率。
摘要由CSDN通过智能技术生成

PDO查询失败,但是看不到任何错误。 如何从PDO获取错误消息?

为了能够看到数据库错误,必须将PDO errmode设置为异常。 在许多方面,异常比常规错误要好:它们总是包含堆栈跟踪,可以使用try..catch捕获它们,也可以使用专用的错误处理程序对其进行处理。 甚至未经处理,它们也会作为常规的PHP错误,遵循站点范围的错误报告设置,提供所有重要信息。

请注意,将此模式设置为连接选项将使PDO也会在连接错误时引发异常,这非常重要。

因此,以下是正确创建PDO连接的示例:

$dsn = "mysql:host=$host;dbname=$db;charset=utf8";

$opt = array(

PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,

// other options

);

$pdo = new PDO($dsn, $user, $pass, $opt);

通过这种方式进行连接,将始终向您通知在查询执行期间发生的所有数据库错误。 请注意,您通常必须能够看到PHP错误。 在实时站点上,您必须查看错误日志,因此必须进行设置

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)。

另外,由于许多错误的示例告诉您将每个PDO语句包装到try..catch块中,因此我必须做出不同的注释:

不要仅使用try..catch运算符来回显错误消息。 未捕获的异常已经很好地用于此目的,因为它的行为方式与其他PHP错误相同-因此,您可以使用站点范围的设置来定义行为-因此,如果没有此无用的代码,您将收到错误消息。 尽管无条件回显的错误消息可能会向潜在的攻击者显示一些敏感信息,但会使诚实的访问者感到困惑。

可以在以后添加自定义异常处理程序,但这不是必需的。 特别是对于新用户,建议使用未处理的异常,因为它们非常有用,有用和安全。

仅当您要自行处理错误时才使用try..catch-例如,回滚事务。

1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值