2012-04-27 47 views
1

我有一個腳本應該從數據庫中讀取並返回一個數組,該數組被另一個函數用來顯示一個表。然而這個函數會拋出一個錯誤。使用MySQLi加入顯示錯誤

Fatal error: Call to a member function fetch_array() on a non-object in C:\xampp\htdocs\nu\userClass.php on line 205 

我不知道可能是什麼錯誤,因爲我已經爲MySQLi類創建了一個對象。這裏是我的代碼

function getUser($user_id) 
     { 
      require("config.php"); 
      //TODO Clean variables 
      $dbc = new mysqli(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME); 
      /* check connection */ 
      if (mysqli_connect_errno()) 
      { 
      printf("Connect failed: %s\n", mysqli_connect_error()); 
      exit(); 
      } 
      $query2 = "SELECT family.Position, food.Meal "."FROM family, food "."WHERE family.Position = food.Position";  
      $result = $dbc->query($query2); 
      $row = $result->fetch_array(); 
      /* close connection */ 
      $dbc->close(); 
      return $row; 
     } 

回答

1

此錯誤消息似乎表明您的SQL查詢中有錯誤。

嘗試通過以下行替換調用$ dbc->查詢():

$result = $dbc->query($query2); 
if ($result === false) { 
    echo 'MySQL error: ' . $dbc->error; 
} 

這將告訴你一個更詳細的錯誤消息。

+0

謝謝。我看到了錯誤。 – sammyukavi 2012-04-27 13:18:17

+0

不要忘記接受答案,當你可以;)謝謝! – adrien 2012-04-27 13:18:58

+0

我想以數組的形式獲取值。我該怎麼做,因爲當我嘗試這樣做,並將值分配給一個數組。我得到一個錯誤'致命錯誤:不能使用類型爲mysqli_result的對象作爲第20行的C:\ xampp \ htdocs \ nu \ accounts.php中的數組' – sammyukavi 2012-04-27 13:33:02