0

我目前正在使用mysqli创建到我的数据库的连接。我的主机服务器不支持 PDO 连接,所以这就是我使用 mysqli 的原因。建立连接时出现此错误:

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

fetchAll()不是mysqli的一部分?

PHP 连接到数据库

$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();
4

4 回答 4

1

不:是fetch_all(),不是fetchAll()

于 2012-07-21T19:40:14.387 回答
1

您可能想要fetch_all(), 而不是fetchAll().

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

手动输入

于 2012-07-21T19:40:39.183 回答
0

根据文档,它仅适用于mysqlnd但是 mysql fetch all 页面上的第一条评论描述了如何创建一个执行相同操作的函数。

http://php.net/manual/en/mysqli-result.fetch-all.php

也是 fetch_all 不是 fetchAll

于 2012-07-21T19:40:24.137 回答
0

当您调用 时$mysqli->query($sql),这可以返回一个mysqli_result对象,或者在false发生错误时返回该值。我认为您的查询不成功,并返回值 false,当然如果您要求false->fetchAll()这样做会给出错误消息。

因此,您必须首先检查查询是否成功(使用===运算符并检查 for false),然后您可以使用查询结果。

PS这就是为什么我从不自己编写函数,使用混合类型的返回值......

于 2012-07-21T20:08:47.950 回答