【问题标题】:Should I Always MySQL Error Check? [closed]我应该始终进行 MySQL 错误检查吗? [关闭]
【发布时间】:2015-07-20 02:38:58
【问题描述】:

我正在使用 php 和 mysql 制作网站。特别是使用 PDO DB 扩展。我的问题是当我在 sql 中运行命令时是否应该始终进行错误检查。在其他人的代码中,我看到了所有 CRUD 的错误检查,其中一些仅针对 C 和 D。如果出现问题,我应该怎么做才能拥有一个响应迅速、信息丰富且安全的网站以及每个人都易于阅读的代码。

是否有任何适用于我的 php 数据库扩展?

谢谢。

【问题讨论】:

  • 知道代码中是否有错误从来都不是一个坏主意,你永远不知道会出现什么。
  • 如果你想要可靠的代码,总是错误检查。
  • 愿意忍受pdo而不是错误块的剪切和粘贴?如果我们将您输给 ORM,那么我们将无法帮助您(可能他们也无法)
  • 始终检查错误。几乎所有出现在这里的与 PHP 和 MySQL 相关的问题都是这样做的,因为作者没有费心检查错误,因此不知道发生了什么。
  • 嗯,你到底为什么不呢?为什么这甚至是一个问题?可笑...

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


【解决方案1】:

当然!

为什么不呢? 没有理由不这样做,而且完全有理由这样做。

这甚至不应该是一个问题。

这就像在问“我是否应该时刻注意我的财物,或者有时可以将我的信用卡和 PIN 码给随机的陌生人过夜?”

【讨论】:

    【解决方案2】:

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

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

    您可以设置PDO::ERRMODE_EXCEPTION,并使用“try-catch”块来处理异常,或者您可以保留默认的PDO::ERRMODE_SILENT,并检查每个 PDO 函数调用的返回值。

    仅仅因为 PDO 函数在您开发和测试时不会引发错误,并不意味着它在未来的某个时间也不会引发错误。并且让代码“静默”失败无助于发现问题或解决问题。

    关于 PHP 和 MySQL 的大多数问题(发布在 StackOverflow 上)都是“请为我修复我的 codez,因为我不知道它为什么不工作”的种类,而且提问者的代码总是 not em> 检查 MySQL 接口函数返回的错误(无论是 mysql_、mysqli_ 还是 PDO。)

    我的观点是,保留默认 PDO::ERRMODE_SILENT 并且在 PDO 函数调用后不检查错误的代码本质上是将其小指放在嘴角,邪恶博士风格,并说“我只是假设一切都会按计划进行。什么?”

    是的,始终检查 PDO 错误。

    问:是否有任何适用于我的 php 数据库扩展?

    我不知道有任何 PHP 扩展可以为您“处理”PDO 错误。我的偏好是PDO::ERRMODE_EXCEPTION 并使用 try-catch 块来捕获异常并处理它。是的,它确实使代码有点混乱。

    根据我在 StackOverflow 上看到的有关 PHP 和 MySQL 的问题,代码中经常充斥着大量不必要的代码(处理转换和计算可以在 SQL 语句中更有效地处理。

    【讨论】:

      猜你喜欢
      • 2015-11-07
      • 2018-01-06
      • 1970-01-01
      • 1970-01-01
      • 2021-08-21
      • 2010-11-16
      • 1970-01-01
      • 2021-10-26
      • 1970-01-01
      相关资源
      最近更新 更多