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