可以在php中禁用mysql_error()函数吗?

时间:2015-06-16 10:24:57

标签: php mysql error-handling

我遇到了一个关于 900 文件 300万行代码的项目,我的老板让我找到一个解决方案来阻止mysql_error()显示错误。

这是语法 mysql_query() OR die(mysql_error())

那么,如何禁止 mysql_error() 显示错误?

2 个答案:

答案 0 :(得分:2)

function mysql_own_error($debug = false){
   $msg = mysql_error();
   if($debug){
     echo $msg;
   }else{
     // Function to log errors here.
   }
}

可以设置全局调试变量$debug。只有当这是真的输出错误消息。 现在用mysql_error()替换每个mysql_own_error($debug)。有编辑可以快速取代suche。

这样可以防止mysql_error()公开显示错误,但如果需要,您仍然可以调试代码。

答案 1 :(得分:1)

如果您仍然遇到错误,那么您的项目尚未完成。

一种方法是在您的文件上进行网站范围的查找/替换,并将OR die(mysql_error())替换为mysql_error()前面的 @ ,如下所示:{{ 1}}。

在函数调用前放置 @ 可以抑制错误消息。但仔细使用它,这并不总是一个好的解决方案。

阅读与this post相关联的this article,了解它是否适​​合您。

我会将所有OR die(@mysql_error())个事件更改为自定义错误处理函数,如果您收到错误,您仍然会知道它而不向用户显示它们。

是的,这需要花费很多时间,但好的项目需要花费大量时间

检查this article以创建您自己的错误处理函数,并this other one通过OR die()启用PHP错误记录,他们真的帮助了我。