dpzff20644 2014-05-14 16:16
浏览 148
已采纳

PHP mysqli_fetch_all给了我一个空白的屏幕

I just pushed something from my local machine to the live site and I get blank pages everywhere. I tracked down the problem to mysqli_fetch_all when I use that everything breaks. Why is it doing this? and how do I fix it? if I use mysqli_fetch_array or mysqli_fetch_row or mysqli_fetch_assoc it works but my data is not displayed properly.

This is one the functions that is breaking:

function getUserFields($connection){

        $query = mysqli_query($connection, "DESCRIBE `adminUsers`");
        $results = mysqli_fetch_all($query, MYSQLI_ASSOC);
        return $results;

}

The $connection is the connection to my database, I have confirmed that works and $query sting is getting populated, it just the mysqli_fetch_all does not work, how could I fix this in the function without adjusting how the data is displayed currently.

  • 写回答

2条回答 默认 最新

  • douweng7308 2014-05-14 16:33
    关注

    The function mysqli_fetch_all() and its object oriented counterpart (mysqli_result::fetch_all) are only available in PHP 5.3 and later.

    It appears your server is running a lower version of PHP, or you're missing MySQL Native Driver (which this function depends on), which explains why the other fetch functions work and this doesn't.

    From the Manual:

    mysqli_fetch_all
    mysqli_result::fetch_all
    (PHP 5 >= 5.3.0)

    For future debugging, turn errors on or refer to your error log because this will usually help to identify the problem.

    error_reporting(E_ALL);
    ini_set('display_errors', '1');
    

    If you don't have access to upgrade the PHP version, or install MySQLND, you can simply convert the code to manually iterate using mysqli_fetch_assoc():

    function getUserFields($connection){
        $query = mysqli_query($connection, "DESCRIBE `adminUsers`");    
        $results = array();
    
        if($query){
            while($row = mysqli_fetch_assoc($query)){
                $results[] = $row;
            }
        }
    
        return $results;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 像这种代码要怎么跑起来?
  • ¥15 怎么改成循环输入删除(语言-c语言)
  • ¥15 安卓C读取/dev/fastpipe屏幕像素数据
  • ¥15 pyqt5tools安装失败
  • ¥15 mmdetection
  • ¥15 nginx代理报502的错误
  • ¥100 当AWR1843发送完设置的固定帧后,如何使其再发送第一次的帧
  • ¥15 图示五个参数的模型校正是用什么方法做出来的。如何建立其他模型
  • ¥100 描述一下元器件的基本功能,pcba板的基本原理
  • ¥15 STM32无法向设备写入固件