2015-10-27 78 views
1

我在forEach中多次調用函數時出錯。 基本上,我試圖抓住類別的論壇,我通過抓住所有的類別來做到這一點,對於每個類別,我將抓住該類別的論壇。如果我只有一個類別,它工作正常。我沒有錯誤。但是,如果我有2個或更多,它會得到錯誤。不能多次調用類的函數

錯誤: 致命錯誤:調用一個成員函數grabForumsOfCategories()一個非對象在/home/dankkvgo/public_html/source/templates/forums_index.php線路22上

forums_index.php(只是一個片段 - 22行是在那裏)

$categories = $forum->grabCategories(); 
    if($categories == NULL) { 
     echo ' 
      <div class="categoryForum"> 
       <p>No data retrived</p> 
      </div> 
     '; 
    } else { 
     if (is_array($categories)) { 
      foreach ($categories as $category) { 
       try { 
        $category_id = $category["category_id"]; 
        $category_title = $category["category_title"]; 
        echo ' 
      <div class="forum-header"><h4>'.$category_title.'</h4></div> 
        '; 
        $forums = $forum->grabForumsOfCategories($category_id); 
        if ($forums == NULL) { 
         echo ' 
      <div class="categoryForum"> 
       <p>No forum data found in this category.</p> 
      </div> 
         '; 
        } 

在論壇類

public function grabForumsOfCategories($category_id) { 
    $database = new database(); 

    $query = "SELECT * 
       FROM forums_forums 
       WHERE category_id='".$category_id."'"; 
    $result = $database->query_select($query); 
    return $result; 
} 
+0

Your $ forum is null。做var_dump($ form)並看看你得到了什麼。爲漂亮打印啓用xdebug擴展。 – jpaljasma

回答

1

它看起來像$論壇我grabForumsOfCategories功能爲n每次都有一個對象。嘗試第22行上方的print_r($ forum)並確保它是一個對象。 $ forum對象每次看起來都沒有實例化。

+0

現在第一類以上,我得到這個:論壇對象() 及以上的錯誤,我得到這個:'Array([category_id] => 1 [0] => 1 [forum_id] => 3 [1] = > 3 [forum_title] =>測試論壇2 [2] =>測試論壇2 [forum_description] =>這是一個測試論壇!!!!!! [3] =>這是一個測試論壇!!!!!! [forum_thread_count] => 0 [4] => 0 [forum_message_count] => 0 [5] => 0 [last_user] =>無[6] =>無[last_date] => 00 [7] => 0000-00-00 00:00:00 [last_thread_id] => 1 [8] => 1)' –

+0

我想通了。在我的forEach聲明中,我將論壇的價值重新分配給$ forum,而不是像$ forum_row –

+1

之類的東西,感謝所有幫助 –