2012-03-08 66 views
0

ini_set('display_errors','off')有問題。ini_set中的display_errors無效

要迅速給您行程中我在同一個文件夾中的兩個文件:

1)「的php.ini」,其中「的display_errors =上」設置。 2)「iniTest.php」,它具有以下代碼:

ini_set('display_errors', 'off'); 

$conn = mysql_connect('localhost','excamplehidden','examplehidden') or trigger_error("SQL", E_USER_ERROR); 
$db = mysql_select_db('examplehidden',$conn) or trigger_error("SQL", E_USER_ERROR); 

mysql_query("SELECT * FROM `FakeTable`") OR die(mysql_error()); 

ini_set('display_errors', 'on'); 

當我運行在瀏覽器這個頁面我仍然得到:

「表‘examplehidden.FakeTable’不存在」

我希望得到什麼,因爲我想隱藏錯誤。

我在做什麼錯?

+0

HEY!你怎麼接受錯誤的答案? -1這樣的不公平。 – 2012-03-08 10:35:58

回答

4

該錯誤來自您的die命令。您不能通過關閉錯誤來抑制die,因爲在退出之前您明確地將mysql_error回顯到屏幕。

你應該以同樣的方式使用trigger_error爲您mysql_select_db線以上,以解決這個問題:

mysql_query("SELECT * FROM `FakeTable`") OR trigger_error(mysql_error(), E_USER_ERROR);