如何在界面上隐藏 mySQL 错误? [关闭]
Posted
技术标签:
【中文标题】如何在界面上隐藏 mySQL 错误? [关闭]【英文标题】:How to HIDE mySQL error from displaying at interface? [closed] 【发布时间】:2013-05-05 05:34:18 【问题描述】:我的网页出现此错误。
您的 SQL 语法有错误;检查与您的 mysql 服务器版本相对应的手册,以在第 1 行的“like”附近使用正确的语法
但是,我想忽略此错误,因为它不会影响我的输出。 因此,我想隐藏此错误,使其不显示在用户端。
我尝试使用此代码error_reporting(E_ALL ^ E_NOTICE);
来隐藏此错误,但只能隐藏“通知”错误。
任何隐藏上述错误的建议/解决方案?
【问题讨论】:
您可以尝试修复它吗? 修正你的语法错误。 “它不会影响我的输出”?好吧,那么你可以跳过有问题的 sql 查询,可以吗? “但是,我想忽略这个错误,因为它不会影响我的输出。”它肯定会影响你的输出。所以要小心。 我们需要更多信息 - 您使用的是 PDO、MySQL 还是 MySQLI? 【参考方案1】:理论上,您可以在函数调用之前使用“@”符号来防止显示任何错误。 例如,
$result = @$mysqli->query($query);
但我强烈建议修复该错误。
【讨论】:
我想在下一个过程中使用该查询。提示此错误是因为用户尚未键入数据。所以,我只想隐藏显示的错误。【参考方案2】:正如大家所建议的,忽略错误是不好的做法;当新的需求将被实施等时,或者当你(或你的替代者)从现在起 6 个月后调试它时,它会阻碍你的项目......
更改代码,如果用户没有输入数据,则不会处理查询,例如:
if($_POST) mysql_query($query,$conn);
另外,我始终确保从不显示实际的错误消息,我显示了一个我可以在我的代码中查找的随机字符串,所以如果它显示,它不会向潜在的黑客泄露任何数据库信息。
$result = mysql_query($query,$conn) or die("HYGTR564dfREFH");
【讨论】:
以上是关于如何在界面上隐藏 mySQL 错误? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
如何关闭 mysql 错误在 CodeIgniter 中显示到屏幕