【问题标题】:best approach for debugging in PHP and mysql在 PHP 和 mysql 中进行调试的最佳方法
【发布时间】:2014-01-25 18:03:10
【问题描述】:

目前我的代码如下所示:

Query 1 or die(debug(mysql->error));
Query 2 or die(debug(mysql->error));
Query 3 or die(debug(mysql->error));
Query 4 or die(debug(mysql->error));
Query 5 or die(debug(mysql->error));

function debug(x)
{
  echo 'The error is' x;
}

如果我想在我的网站中删除调试消息,我可以随时在调试函数中注释 1 行。

我的问题是

  1. 用 die 好不好?如果 die 在 Query 3 被调用,Query 4,Query 5 会被执行吗?
  2. 这是最好的方法吗?

【问题讨论】:

  • 是的,这是个好方法..
  • "如果 die 在 Query 3 被调用,Query 4,Query 5 会被执行吗?"没有。
  • 这对于生产系统来说是一种糟糕的方法。在生产应用程序中使用die() 将终止应用程序,充其量是向用户发送一条神秘消息。你应该处理错误。如果可以,请恢复,但至少要找到一种方法来通知自己出现了错误,并显示一条友好的消息。
  • 您在使用准备好的 SQL 语句吗?就调试而言,DB 返回给 PHP 的 ErrorCode 相当广泛,而且在大多数情况下并不直观。对于开发系统,我建议回显 SQL。
  • @MikeW 如果我不希望脚本停止怎么办?

标签: php mysql debugging error-handling die


【解决方案1】:

1-用die好不好?如果 die 在 Query 3 被调用,请执行 Query 4、查询5会被执行吗?

没有。 die() 表示脚本将停止。只需停止并传递错误即可。

2-这是最好的方法吗?

是的。这是我喜欢使用的一种方法。

不过,这一切都只是在开发阶段,它破坏了页面,甚至给出了mysql错误,从而破坏了用户体验。

如果您的网站已经上线,最好了解如何使用错误处理并为您的用户提供他们可以理解的错误。 Here 是一个不错的教程。

阅读die()

【讨论】:

  • 如果不想停止怎么办?
  • @ZainShah120 然后不要使用 die() 并回显 mysql_error()。
  • 是的。 Query 5 or echo(mysql->error);debug(mysql->error); @ZainShah120
猜你喜欢
  • 1970-01-01
  • 2011-08-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-12-13
  • 2011-08-30
相关资源
最近更新 更多