Php 为什么@before函数

Php 为什么@before函数,php,Php,在函数之前添加@做什么?我在一些脚本中看到了这一点 例如: $connect = @mysql_connect('localhost', 'root', 'password'); instead of $connect = mysql_connect('localhost', 'root', 'password'); 它将抑制函数内部可能发生的任何错误 考虑到所有因素,不建议这样做,因为它可能会导致一些潜在的错误。这是php文档中的错误控制操作符: PHP支持一个错误控制操作符:at符号(@

在函数之前添加@做什么?我在一些脚本中看到了这一点

例如:

$connect = @mysql_connect('localhost', 'root', 'password');
 instead of
$connect = mysql_connect('localhost', 'root', 'password');

它将抑制函数内部可能发生的任何错误


考虑到所有因素,不建议这样做,因为它可能会导致一些潜在的错误。

这是php文档中的错误控制操作符:

PHP支持一个错误控制操作符:at符号(
@
)。当在PHP中的表达式前面加上前缀时,将忽略该表达式可能生成的任何错误消息

如果您已使用
set\u error\u handler()
设置了自定义错误处理程序函数,则仍将调用该函数,但此自定义错误处理程序可以(并且应该)调用
error\u reporting()
,当触发错误的调用前面有
@
时,该函数将返回0

如果启用了track_errors功能,则表达式生成的任何错误消息都将保存在变量
$php_errormsg
中。此变量将在每次错误时被覆盖,因此如果要使用它,请尽早检查


嗯,我不觉得有人改进我的帖子有什么问题,但是在我发布后几分钟内完全改变它的措辞,这充其量只是低级趣味而已……它也很慢。不要使用它;几乎总是有另一种选择。