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

Can the mysql_error() function be disabled in php?

我在一个大约 900 个文件的项目中遇到了 3 百万行代码,我的老板让我找一个防止 mysql_error() 显示错误的解决方案。

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

那么,我怎样才能让 mysql_error() 不显示错误呢?

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

一种方法是在您的文件上执行全站点范围的 find/replace,并将 OR die(mysql_error()) 替换为 [=11] 前面的 @ =] 像这样:OR die(@mysql_error()).

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

阅读 this post which links to this article 了解它是否适​​合您。

我会将所有 OR die() 事件更改为自定义错误处理函数,这样即使您遇到错误,您仍然可以知道它,而无需向用户显示它们。

是的,这会花很多时间,但是好的项目需要很多时间

检查 this article to create your own error-handling function and this other one 以通过 .htaccess 启用 PHP 错误记录,他们真的帮助了我。

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)。有可以快速替换的编辑器。

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