我目前正在使用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();
答案 0 :(得分:1)
否:它是fetch_all()
,而不是fetchAll()
。
答案 1 :(得分:1)
答案 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。这就是为什么我自己从不写函数,混合类型的返回值......