By the way DO NOT USE '@' except when deploying the final script live. This is a terrible habit.
I might add to that by saying that you should really never need to use '@' ever. If you want to hide your errors from the end User, just set:
-
display_errors = Off
-
log_errors = On
-
And optionally:
-
error_log /path/to/error_log
-
in your
php.ini file (usually located at /usr/local/lib/php.ini or somewhere else on Windows [somebody who uses a 'doze box on a regular basis will probably be a lot more helpful than I can in that respect]).
Not only will your User never see error messages, but you don't have to go back into your code and remove a bunch of '@' characters if your script messes up.
[EDIT: And most web hosting providers allow you to edit a php.ini file at the root level of your site.]