Monday, 12 June 2017

What does @ mean in PHP?











I was wondering what @ means in PHP language. I have seen people using




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


Not sure why. Could someone explain it for me?


Answer



The @ operator tells PHP to suppress error messages, so that they will not be shown.



For instance, using:




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


would result in a warning being shown, telling you that the MySQL query is invalid, while



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


would not.




Note, however, that this is very bad programming practice as it does not make error disappear, it just hides them, and it makes debugging a heck of a lot worse since you can't see what's actually wrong with your code.



Instead of using @, you should disable error_reporting and display_errors just display_errors in php.ini


No comments:

Post a Comment

c++ - Does curly brackets matter for empty constructor?

Those brackets declare an empty, inline constructor. In that case, with them, the constructor does exist, it merely does nothing more than t...