@在PHP中意味着什么?

可能重复:
参考 – 这个符号在PHP中意味着什么?

我想知道什么@意味着在PHP语言。 我见过有人在用

 $connect = @mysql_query('sql query here'); 

不知道为什么。 有人能为我解释吗?

@运算符告诉PHP禁止显示错误消息,以免显示。

例如,使用:

 $result = mysql_query("this is an invalid query"); 

会导致显示警告,告诉你MySQL查询是无效的,而

 $result = @mysql_query("this is still an invalid query"); 

不会。

但是请注意,这是非常糟糕的编程实践,因为它不会使错误消失,它只是隐藏它们,而且由于看不到代码中的实际错误,所以它会使debugging变得更糟。

不要使用@ ,而应该在php.ini中禁用error_reportingdisplay_errors只是display_errors

@符号告诉PHP忽略错误消息。

PHP错误控制操作符

这是一个错误控制运算符 。

@是告诉你不要打印错误信息的方法。 这是一个不好的做法,因为你可能有一个错误,从来没有看到它,因为你只是“隐藏”它。

PHP支持一个错误控制运算符:at符号(@)。 当在PHP中添加expression式时,可能会由该expression式生成的任何错误消息都将被忽略。


资源:

  • @运营商

@ Operator =表示如果发生任何types的错误,则不要在用户的浏览器中显示消息。 有人testing这个,并没有看到差别,即使他们把@或不他们仍然没有看到在浏览器中的任何错误,只是加起来,这种情况发生的原因是因为在错误输出的php.ini文件被closures。

不同的托pipe公司有不同的设置,以确保您不希望看到任何丑陋的脚本错误的用户或黑客(为他们提供线索渗透你的网站),你总是可以使用@运营商。

希望这个帮助。