我应该总是MySQL错误检查吗?

时间:2015-07-20 02:38:59

标签: php mysql pdo error-handling error-checking

我正在使用php和mysql创建一个网站。特别是使用PDO DB扩展。我的问题是当我在sql中运行命令时是否应该总是进行错误检查。在其他人中&#39;代码我已经看到所有CRUD的错误检查,有些只针对C和D.我应该做些什么来建立一个响应,信息丰富且安全的网站,如果出现问题并且代码易于为每个人阅读。< / p>

是否有任何针对PHP的数据库扩展,如果它适用于我?

感谢。

2 个答案:

答案 0 :(得分:1)

当然!

你为什么不呢? 没有理由不以及每个理由都这样做。

这甚至不是一个问题。

这就像是在问“我应该一直关注我的财物,还是有时可以将我的信用卡和密码提供给随机的陌生人?”

答案 1 :(得分:0)

有些人可能认为这主要是基于意见的。

我认为最佳做法是始终检查PDO错误。

您可以设置PDO::ERRMODE_EXCEPTION,并使用&#34; try-catch&#34;阻止并处理异常,或者您可以保留默认的PDO::ERRMODE_SILENT并检查每个PDO函数调用的返回值。

仅仅因为PDO功能在您开发和测试时不会抛出错误并不意味着它在将来某个时间不会抛出错误。让代码失败&#34;默默地&#34;没有帮助检测问题或解决问题。

关于PHP和MySQL的大部分问题(发布在StackOverflow上)都是&#34; plz为我修复了我的代码,因为我不知道为什么它不能正常工作&#34;各种各样,并且提问者代码总是检查MySQL接口函数返回的错误(无论是mysql_,mysqli_还是PDO)。

我的观点是,在PDO函数调用之后保留默认PDO::ERRMODE_SILENT并且没有检查错误的代码实际上是将其小拇指放在嘴角,Dr. Evil风格,以及说&#34;我只是假设一切都会进行计划。什么&#34;

是的,请务必检查PDO错误。

问:是否有任何针对PHP的数据库扩展,如果它适用于我?

我不知道任何PHP扩展程序将会处理&#34; PDO错误给你。我的偏好是PDO::ERRMODE_EXCEPTION并使用try-catch块来捕获异常并处理它。是的,它会使代码混乱。

从我在StackOverflow上发布的关于PHP和MySQL的问题中,代码经常被大量不必要的代码混乱(处理转换和计算,可以在SQL语句中更有效地处理。