Mysqli数据库连接问题

时间:2012-07-21 19:38:00

标签: php mysqli

我目前正在使用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 个答案:

答案 0 :(得分:1)

否:它是fetch_all(),而不是fetchAll()

答案 1 :(得分:1)

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

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

<强> Manual Entry

答案 2 :(得分:0)

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

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

它的fetch_all也不是fetchAll

答案 3 :(得分:0)

当您致电$mysqli->query($sql)时,这可能会返回mysqli_result个对象,如果出现错误,则会返回值false。我认为您的查询不成功,并返回值false,当然如果您要求false->fetchAll(),这将给出错误消息。

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

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