php访问数据库输出记录不全

这个问题困扰我好几天了,无缘无故的就出现了。

public function order_outexcel(){
        header("Content-type: text/html; charset=utf-8");        
        $time=IReq::get('outage');
        $or=new IModel('order');        
        $orlist=$or->query("if_del=0 and create_time like '%".$time."%'");
        echo "<pre>";
        **dump($orlist);**
    }

很简单的一个程序,就是去mysql数据库中查询order表中符合某一条件的记录。记录比较多,有3000多个,问题来了,查询出来,我用dump也就是var_dump或print_r函数打印显示查询结果,就是显示不全。
图片描述
图片描述
图片描述

很明显的记录都没输完就没了,我从来遇到过这样的问题,好几天没解决。我把数据表导到本地同样查询一点问题也没有,直接用sql语句去mysql查询,也没问题。你直接count或sizeof结果也没问题,就是输出时输出不完整。。

阅读 3.9k
1 个回答

这个问题我觉得很明显。
首先你既然收数据查出来的完整,用 cout 也 ok ,那么问题就出在 'vardum' 或者 'print_f' 身上。

var_dump() 函数是在 PHP 开发过程中最为常用的函数,用于打印变量的相关信息。而当我们要打印数组的时候,且数组元素较多超过 128 个元素,则默认是后面的元素不会显示。本文讲讲通过修改 php 的配置文件 php.ini 来设置 var_dump 输出元素的最大个数、最大字符数。
按着你的问题查了一下,应该是有字符打印限制的。

我觉得你为何不尝试自己手动遍历一下这个数组?

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题