我遇到了一个关于 900 文件 300万行代码的项目,我的老板让我找到一个解决方案来阻止mysql_error()显示错误。
这是语法
mysql_query() OR die(mysql_error())
那么,如何禁止 mysql_error()
显示错误?
答案 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
错误记录,他们真的帮助了我。