参考下别人的代码把,这样的类很多的,google

解决方案 »

  1.   

    在fetch_array()函数里面写query.且加个传入参数给fetch_array();
      

  2.   

    按照楼上的说法,我用
    while($result = $query->fetch_array()){
    print_r($result);
    }
    不是无限循环先query然后fetch!然后再while一次又是query然后fetch!
      

  3.   

    不是很理解LZ的意思你的意思是指直接通过fetch_array($sql)这样的方法获得结果集吗?但这样为什么要用到while呢?本来就是查询一次获得一次结果集你这样不是铁定死循环的啊..正如你说的那样每次循环都是查询次数据库然后获得结果再输出
      

  4.   

    err 我搞错了没怎么用过mysqli类fetch_array原来是每次获取一条记录..
      

  5.   

    加个flag标志位吧 
    当然这样有个缺点就是如果while循环中间断了的话....我个人觉得还是分两条执行比较好 :-)
    class conn extends mysqli 
    {
        private $flag = false;
        private $result;
        public function fetch_array($sql){
            if ( $this->flag == false ) {
                $this->result = $this->query($sql);
             if( $this->result )
                $this->flag = true;    
            }
            $row = $this->result->fetch_array();
            if ( $row == null ) {
             $this->flag = false;
            }
            return $row;
        }
    }
      

  6.   

    看一下这个例子先:
    function get_one($SQL){ $query=$this->query($SQL,'U_B');

    $rs =& mysql_fetch_array($query, MYSQL_ASSOC); return $rs;
    }
      

  7.   

    wowh(NETwalker) 的方法我也想到过,就是想着每出一条记录都得判断一次,如果记录多了会不会影响速度!
      

  8.   

    yueliangdao0608给的方法正式小弟现在用的只获取一条记录的方法!呵呵!
      

  9.   

    恩 不过判断相对来讲是耗时最少的操作了你可以用time系的函数测试下两者的时间差 :)我相信fetch_array()的时间远大于判断的时间