PHP中的@是什么意思?


What does @ mean in PHP?

本问题已经有最佳答案,请猛点这里访问。

Possible Duplicate:
Reference - What does this symbol mean in PHP?

我想知道在PHP语言中,@的意思是什么。我见过有人用

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

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


@操作符告诉php禁止显示错误消息,这样就不会显示错误消息。

例如,使用:

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

将导致显示警告,告诉您mysql查询无效,而

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

不会。

但是请注意,这是非常糟糕的编程实践,因为它不会使错误消失,它只是隐藏了错误,而且它会使调试变得更糟,因为您看不到代码的实际错误。

不要使用@,应该在php.ini中禁用error_reportingdisplay_errorsjust display_errors


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

PHP错误控制运算符


@是一种告诉您不想打印错误消息的方法。这是一个糟糕的做法,因为你可能会有错误,而且永远不会看到它,因为你只是"隐藏"了它。

PHP supports one error control operator: the at sign (@). When prepended to an expression in PHP, any error messages that might be generated by that expression will be ignored.

资源:

  • @运算符

它是一个错误控制操作员。


@operator=表示如果发生任何类型的错误,则不在用户浏览器中显示消息。有人测试这个,即使他们放了@也看不到区别,他们还是看不到浏览器中的任何错误,好吧,加起来,发生这种情况的原因是php.ini文件中的错误输出设置被关闭。

不同的主机公司有不同的设置,以确保您不想看到任何丑陋的脚本错误的用户或黑客(为他们提供一个线索渗透您的网站),您可以始终使用@operator。

希望这有帮助。