63 votes

Que signifie @ en PHP?

Dupliquer possible:
Référence - Que signifie ce symbole en PHP?

Je me demandais ce que @ signifie en langage PHP. J'ai vu des gens utiliser

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

Pas certain de pourquoi. Quelqu'un pourrait-il l'expliquer pour moi?

59voto

Frxstrem Points 5384

L' @ opérateur indique à PHP pour supprimer les messages d'erreur, de sorte qu'ils ne seront pas affichés.

Par exemple, à l'aide de:

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

le résultat serait une alerte affichée, vous indiquant que la requête MySQL n'est pas valide, alors que

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

serait pas.

Notez, cependant, que c'est très mauvais en programmation, comme il ne fait pas d'erreur disparaît, il vient se cache, et il permet de déboguer un diable de beaucoup plus, puisque vous ne pouvez pas voir ce qui est fait, le problème avec votre code.

Au lieu d'utiliser @, vous devez désactiver error_reporting et display_errors seulement display_errors en php.ini

13voto

Rocket Hazmat Points 87407

Le signe @ indique à PHP d’ignorer les messages d’erreur.

Opérateurs de contrôle d'erreur PHP

1voto

Richard JP Le Guen Points 13306

1voto

Colin Hebert Points 40084

L' @ est une façon de dire que vous ne souhaitez pas imprimer les messages d'erreur. C'est une mauvaise pratique car vous pourriez avoir une erreur et de ne jamais le voir parce que vous venez de "caché" il.

PHP supporte un contrôle d'erreur de l'opérateur: le signe arobase (@). Lorsque ajouté à une expression en PHP, tous les messages d'erreur susceptibles d'être générées par cette expression sera ignoré.


Ressources :

0voto

Rassel Points 16

Opérateur @ = Indique que si il y a un type d'erreur se produit, ne pas afficher le message dans le navigateur de l'utilisateur. Il y a des gens qui tester cela et ne pas voir la différence, même ils ont mis le @ ou pas, ils ne voyons pas d'erreur dans le navigateur, eh bien tout simplement à ajouter, la raison pour laquelle ce lieu est à cause de la configuration du php.fichier ini pour la sortie d'erreur est éteint.

Différentes entreprise d'hébergement de différents paramètres afin de s'assurer que vous ne voulez pas voir tout moche erreur de script pour les utilisateurs ou les pirates(pour leur donner un indice pour infiltrer en vous site), vous pouvez toujours utiliser l'opérateur@.

Espérons que cette aide.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X