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

可以在php中禁用mysql_error()函数吗?,php,mysql,error-handling,Php,Mysql,Error Handling,我在一个包含约900个文件和300万行代码的项目中遇到过,我的老板让我找到一个解决方案,防止mysql_error()显示错误 这就是语法 mysql\u query()或die(mysql\u error()) 那么,我如何才能禁用mysql_error()显示错误?如果您仍然有错误,那么您的项目还没有完成 一种方法是在站点范围内查找/替换文件,并将或die(mysql\u error())替换为mysql\u error()前面的@,例如:或die(@mysql\u error()) 将@放

我在一个包含约900个文件和300万行代码的项目中遇到过,我的老板让我找到一个解决方案,防止mysql_error()显示错误

这就是语法
mysql\u query()或die(mysql\u error())


那么,我如何才能禁用mysql_error()显示错误?

如果您仍然有错误,那么您的项目还没有完成

一种方法是在站点范围内查找/替换文件,并将
或die(mysql\u error())
替换为
mysql\u error()前面的@,例如:
或die(@mysql\u error())

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

阅读链接以了解它是否适合您

我会将所有
或die()
occurrences更改为一个自定义错误处理函数,然后如果您得到一个错误,您仍然会知道它,而不会向用户显示它们

是的,这需要很多时间,但是一个好的项目需要很多时间

检查以创建您自己的错误处理函数,并通过
.htaccess
启用
PHP
错误日志记录,他们确实帮助了我

function mysql_own_error($debug = false){
   $msg = mysql_error();
   if($debug){
     echo $msg;
   }else{
     // Function to log errors here.
   }
}
使用它,您可以设置全局调试变量
$debug
。仅当该值为真时,才输出错误消息。 现在用
mysql\u-own\u-error($debug)
替换每个
mysql\u-error()。有些编辑可以快速完成这项工作


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

如果一行代码可以启动错误,您可以尝试将@放在函数前面以抑制它,如果我回忆正确,这意味着什么<代码>mysql\u错误
本身不是“显示错误”。这是否意味着您的代码中到处都有大量的
echo mysql\u error()
,您希望将其静音?
mysql\u error
不会显示错误。它返回一个字符串<代码>回显ing或
打印
ing将显示该错误。您需要修复根本原因(坦白地说,这将是一个地狱的大量工作,需要挖掘这么多代码)-您将后悔您在那里采取的任何捷径。当您使用时,您应该停止使用
mysql_u
扩展(该扩展已弃用,将来将从PHP中删除),并升级到PDO或
mysqli_u
扩展。示例更改
echo mysql_error()
mysql\u error()
或将其删除。瞧,它是有效的。对不起,在项目中有很多
mysql\u query()或die(mysql\u erro())
,我在编辑问题时不小心删除了它。谢谢,我看了这些文章,它们看起来很有趣,很有用,我正在阅读。欢迎你,但也阅读Docartie的答案,它可以对你有所帮助;)我读了这些文章,它们非常有趣和有用,当我达到15岁时,我会投票给你的答案谢谢你先生的回答,但是我应该在所有文件中包含一个包含变量的文件,因为在项目中没有包含在所有其他文件中的文件files@Carl-正如我在回答中所说,如果你想做一个好的项目,那么你必须工作很多时间。@Carl如果你没有中心配置文件,你应该防备地包括一个。使用3mio代码行,如果没有配置文件,很难管理错误。除此之外,当你面临其他问题时,它将帮助你克服压力。谢谢你的帮助,但我读了@CliffBurton的链接文章,现在我认为保持记录错误而不向用户显示是一个更好的解决方案。但你的回答也很有帮助,只要我达到15分,我就会给你投票answer@Carl您可以使用else部分作为记录错误的位置。我编辑它以显示这一点。这只是一个如何开始的想法。:)