2010-09-21 59 views
0

誰能告訴我,我得到的錯誤:致命錯誤:調用一個成員函數FETCH_ASSOC()非對象上該類爲什麼我得到:調用一個非遞歸函數的非對象成員函數fetch_assoc()?

內這種方法這是一個遞歸函數,它運行罰款第一次,是我第二次發現錯誤。

function getSite($var, $var1 = 0, $numLevel = 1){ 
    //get the page 
    $qry = "SELECT * FROM table WHERE columnA = $var AND columnB = $var1 ORDER BY parent, position ASC"; 

    $arrPage = $this->my_sqli->query($qry); 

    //a valid resut was returned from the DB 
    while($obj = $arrPage->fetch_assoc()){ 
    //add to array 
    if($obj['id']){ 
    $this->arrMenu = array(
    'id' => $obj['id'], 
    'parent' => $obj['parent'], 
    'level' => $numLevel 
    ); 

      ... some more code 

       // call the function again 
       getSite($value1); 
      } 
     } 
    } 
+0

'回聲$這個 - > my_sqli->錯誤;' – Wrikken 2010-09-21 18:15:32

+0

和後續代碼var_dump($ arrPage)這可能是沒有結果返回的第二個呼叫。 – Gazler 2010-09-21 18:18:09

+1

它是'$ this-> getSite()'?或者你沒有正確複製它。否則它可能會嘗試調用常規函數而不是類方法... – ircmaxell 2010-09-21 18:19:45

回答

0

您還沒有包含錯誤檢查執行它。

變化

$arrPage = $this->my_sqli->query($qry); 

if (($arrPage = $this->my_sqli->query($qry)) === false) { 
     printf("Error: %s in query %s\n", $this->my_sqli->error,$qry); 
    } 
+0

這使我找到了正確的方向。謝謝。 – 2010-09-21 19:23:42

0

通常情況下,當我看到這些錯誤有什麼毛病查詢,嘗試呼應的查詢和類似查詢瀏覽器

相關問題