我有一个php-mysqli代码可以找到我的本地服务器,但在我的服务器上使用它我得到了
Fatal error: Call to undefined function mysqli_fetch_all() in /home3/t561257/public_html/admin/database.php on line 49
以下部分代码是问题所在。
function fetch_rows($queryname) {
$result = $this->connection->query($queryname);
$row = mysqli_fetch_all($result, MYSQLI_ASSOC);
return $row;
}
我以下列方式使用它
$next_four_rows = $db_link->fetch_rows($query_four_latest);
$ db_link是具有fetch_rows方法的类。
我在我的本地服务器上使用php 5.5,因为服务器正在运行5.4.27我对如何解决它真的很无能
答案 0 :(得分:13)
如果您的PHP安装was not compiled with mysqlnd导致mysqli_fetch_all
不可用,您有两种选择:
使用简单的循环:
$data = [];
while ($row = $result->fetch_assoc()) {
$data[] = $row;
}
您甚至可以创建兼容性回退,而无需更改所有代码:
if (!function_exists('mysqli_fetch_all')) {
function mysqli_fetch_all(mysqli_result $result) {
$data = [];
while ($data[] = $result->fetch_assoc()) {}
return $data;
}
}