2012-07-21 99 views
0

我目前使用mysqli来创建与我的数据库的连接。我的主机服务器不支持PDO连接,所以这就是为什么我使用mysqli。建立连接时,我收到此错误:Mysqli数据库连接问题

Fatal error: Call to undefined method mysqli_result::fetchAll() 

fetchAll()不是的mysqli的一部分吗?

PHP连接到DB

$mysqli = new mysqli('localhost', 'user', 'password', 'database'); 

if (mysqli_connect_error()) { 
    die('Connect Error (' . mysqli_connect_errno() . ') ' 
      . mysqli_connect_error()); 
} 
else { 
echo ('Success... '); 
} 

    $sql = "SELECT * 
      FROM `categories` 
      WHERE `master` = 0"; 
    $statement = $mysqli->query($sql); 
    $list = $statement->fetchAll(); 

回答

0

当你调用$mysqli->query($sql),这可以返回一个mysqli_result对象,或在错误的情况下的价值false。我认为你的查询不成功,并返回false值,当然,如果你要求false->fetchAll()这将给出一个错误消息。

因此,如果查询成功(使用===运算符并检查false),则必须先检查,然后才能处理查询结果。

P.S.这就是为什么我从来没有写函数自己,混合类型的返回值...

1

编号:这是fetch_all(),不fetchAll()

+0

好吧谢谢你,但现在我得到这个错误:'调用未定义的方法mysqli_result :: fetch_all()' – CodingWonders90 2012-07-21 19:50:22

1

你可能想fetch_all()

mysqli_result::fetch_all(); 
PDO::fetchAll(); 

Manual Entry

+0

好吧谢谢,但现在我得到这个错误:'调用未定义的方法mysqli_result :: fetch_all()' – CodingWonders90 2012-07-21 19:50:56