我有一个 php-mysqli 代码可以找到我的本地服务器,但是在我的服务器上使用它时我得到了一个
I have a php-mysqli code that works find one my local server but on using it on my server i am getting a
Fatal error: Call to undefined function mysqli_fetch_all() in /home3/t561257/public_html/admin/database.php on line 49
下面这部分代码就是问题所在.
The following part of the code is where the problem is.
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 方法的类.
$db_link is the class which has the method fetch_rows.
我在本地服务器上使用 php 5.5,因为服务器运行的是 5.4.27 我真的不知道如何修复它
I am using php 5.5 on my local server where as the server is running 5.4.27 I am really clueless on how to fix it
如果 mysqli_fetch_all
不可用,因为您的 PHP 安装 没有用mysqlnd编译,你有两个选择:
If mysqli_fetch_all
is not available because your PHP installation was not compiled with mysqlnd, you have two options:
使用一个简单的循环:
Use a simple loop:
$data = [];
while ($row = $result->fetch_assoc()) {
$data[] = $row;
}
您甚至可以创建兼容性回退,而无需更改所有代码:
You could even create a compatibility fallback, without needing to change all your code:
if (!function_exists('mysqli_fetch_all')) {
function mysqli_fetch_all(mysqli_result $result) {
$data = [];
while ($data[] = $result->fetch_assoc()) {}
return $data;
}
}
这篇关于需要 mysqli_fetch_all 的替代方案的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!