Что означает @в PHP?
Возможный дубликат:
Ссылка - что означает этот символ в PHP?
Мне было интересно, что означает @
в языке PHP. Я видел людей, использующих
$connect = @mysql_query('sql query here');
Не знаю, почему. Может ли кто-нибудь объяснить это мне?
Ответы
Ответ 1
Оператор @
говорит 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
Ответ 2
Знак @
указывает PHP игнорировать сообщения об ошибках.
Операторы управления ошибками PHP
Ответ 3
Это оператор управления ошибками.
Ответ 4
@
- это способ сообщить, что вы не хотите печатать сообщения об ошибках. Это плохая практика, потому что у вас может быть ошибка и она никогда не увидит ее, потому что вы просто "спрятали" ее.
PHP поддерживает один оператор управления ошибкой: знак at (@). При добавлении выражения в PHP любые сообщения об ошибках, которые могут быть сгенерированы этим выражением, будут игнорироваться.
Ресурсы:
Ответ 5
@Operator = Указывает, что при возникновении какой-либо ошибки не отображается сообщение в пользовательском браузере. Есть люди, которые проверяют это и не видят разницы, даже если они помещают @, или нет, они все еще не видят ошибок в браузере, просто чтобы добавить их, причина, почему это происходит из-за настройки в Файл php.ini для вывода ошибки отключается.
У разных хостинговых компаний разные настройки, поэтому убедитесь, что вы не хотите видеть какую-либо уродливую ошибку script для пользователей или хакеров (для того, чтобы дать ключ к проникновению на ваш сайт), вы всегда можете использовать @оператор.
Надеюсь на эту помощь.