Возможный дубликат:
Ссылка. Что означает этот символ в 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");
не будет.
Обратите внимание, однако, что это очень плохая практика программирования, поскольку она не устраняет ошибку, она просто скрывает их, и это делает отладку чертовски много хуже, поскольку вы не можете видеть, что на самом деле не так с вашим кодом.
Вместо использования @
вы должны отключить только error_reporting
и display_errors
display_errors
в php.ini
Знак @
указывает PHP игнорировать сообщения об ошибках.
Операторы управления ошибками PHP
Это оператор управления ошибками .
@
– это способ сказать, что вы не хотите печатать сообщения об ошибках. Это плохая практика, потому что у вас может быть ошибка и никогда ее не увидеть, потому что вы просто «спрятали» ее.
PHP поддерживает один оператор управления ошибкой: знак at (@). При добавлении выражения в PHP любые сообщения об ошибках, которые могут быть сгенерированы этим выражением, будут игнорироваться.
Ресурсы :
@ Operator = Указывает, что при возникновении какой-либо ошибки не отображается сообщение в браузере пользователя. Есть люди, которые проверяют это и не видят разницы, даже если они ставят @, или нет, они все еще не видят ошибок в браузере, просто чтобы добавить их, причина, почему это происходит из-за настройки в Файл php.ini для вывода ошибки отключается.
У другой хостинговой компании есть разные настройки, поэтому убедитесь, что вы не хотите видеть какую-либо уродливую ошибку скрипта для пользователей или хакеров (для того, чтобы дать ключ к проникновению на ваш сайт), вы всегда можете использовать оператор @.
Надеюсь, эта помощь.