2012-04-27 26 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