2014-01-16 59 views
0

因此,我想關閉執行此代碼時可能得到的警告錯誤。如何關閉特定的mysql/php函數的錯誤

for ($i=0; $i < count($project_array); $i++) { 

    $projecthours[$i] = project_hours($project_array[$i]); 
    $project_name = $project_array[$i]; 

    $impact_query = "SELECT * FROM impact_data WHERE project_name ='$project_name'"; 
    $impact_search = mysql_query($impact_query); 
    $impact_num = mysql_num_rows($impact_search); 


    if ($impact_num > 0) { 

      // Do something 

    } //IMPACT_NUM IF 

    else { 

     Do Something Else 

    } // ELSE statement 

即使我已經把這兩個函數的@符號前面,我仍然會得到以下錯誤。我不想將所有頁面的錯誤都打開,因爲我認爲這是一個糟糕的主意,而且我仍然在網站上工作。這是我仍然得到的警告。

警告:mysql_num_rows()預計參數1是資源

+0

爲什麼你不只是檢查你的結果,而不是隱藏的錯誤? – Barmar

+0

您不能在代碼中關閉來自php的警告,您必須在php.ini中執行此操作。您應該重新編寫代碼以解決此錯誤,以便可以執行sql語句。在您提供的代碼塊之前發生了什麼? –

+0

爲什麼資源是一個數字?它應該是一個資源。 – Barmar

回答

0

,我認爲這可以幫助你:

error_reporting(0); 
$impact_num = @mysql_num_rows($impact_search); 
error_reporting(E_ALL);` 

誰說不可能? PHP非常靈活。 =)

+0

哈哈這些錯誤實際上已經消失了,所以它可以工作,但是我在for循環開始之前就把它放了,因爲一個錯誤仍然會顯示出來。 – grasshopper

0

如何檢查$ impact_search第一

if(is_resource($impact_search)) 
{ 
    $impact_num = mysql_num_rows($impact_search); 
    // Remaining stuff here 
}