pourquoi le sigle @ devant par exemple @mysql_connect

Nouveau WRInaute
Bonjour,

La question est dans le titre, c'est basique mais je ne comprend pas pourquoi on rajoute @ devant @mysql_connect ou @mysql_select_db ect...

quelqun pourrait me renseigner .

merci
 
WRInaute accro
On ne l'ajoute pas forcément.
Le @ devant une fonction ou une variable en php permet d'en supprimer les possibles erreurs affichées.

Ainsi, si la connexion est impossible, avec un @, aucune erreur ne sera affichée.
Sans @, l'erreur le sera.

Note que c'est déconseillé afin de faciliter le débugguage de l'application. Il est possible, en production, de désactiver les erreurs avec la fonction error_reporting
 
WRInaute impliqué
bozoleclown a dit:
c'est plus propre que

echo "<!--";
mysql_connect(....);
echo "-->";

:D

ton "code" n'empêche pas PHP de retourner les erreurs mais les camoufle (le code source contiendra quand même les erreurs retournées) alors que le @ (associé à une fonction de connexion, d'ouverture de fichier par exemple) empêche PHP d'indiquer quoi que ce soit comme erreur, y compris les erreurs de connexion, de path, etc...
 
Discussions similaires
Haut