你应该积极地养成抑制错误的习惯.错误是有原因的.相反,在代码中正确和防御地处理它们,并不断完善代码,直到错误消失.
你应该做的事情如下:
$conn = mysql_connect($host, $user, $pass);
// Always test to see if your action/connection/whatever was successful
if (!$conn) {
// something went wrong. handle the error
// Display a message for the user, write a message to `error_log()`, whatever's appropriate
}
else mysql_select_db($dbname);
在生产系统上,您永远不应该显示错误,因为它可能会泄露您的代码和数据库的详细信息.相反,在php.ini或运行时关闭display_errors:
// In development and production, make sure all errors are reported
error_reporting(E_ALL & E_STRICT);
// In development show all errors on screen so you handle them as they occur
ini_set('display_errors', 1);
// In production turn them off
ini_set('display_errors', 0);
事实上,使用@的错误抑制是PHP糟糕练习in this classic question.的第二大投票