php – 需要替代mysqli_fetch_all

我有一个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我真的对如何修复它一无所知

如果因为PHP安装 was not compiled with mysqlnd而无法使用MysqLi_fetch_all,则有两个选项:

> Recompile PHP with mysqlnd或者可能从Linux发行版的软件包存储库中安装另一个特定的软件包.
>使用简单的循环:

$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;
    }
}

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...