$DB3 = new db_driver();
$DB3 =$DB;
这个不是废话么

解决方案 »

  1.   

    $DB3 = new db_driver();
    去掉它一样的.
      

  2.   

    首先不知道你要完成什么功能,也就谈不上如何更好处理。
    正如楼上所说$db3=$db,这句不知道你是做何用途,这样一来,$DB3与$DB就是一样的了。数据库读取数据表,是不是有问题,这个就不知道了。还是好好看看程序本身吧~
      

  3.   

    是不是应该是:
    $DB = new db_driver();
    确认这段代码现在回到php4还可以运行?是否有改动自己没发现?
      

  4.   

    不管是否加 $DB3 = new db_driver();在php4都可以运行.
    不管是否加它在php5下都不可以运行.
    目的是用双重循环遍历数据库..
      

  5.   

    $DB3 = new db_driver();本来就是句废语句,加不加当然没影响。
      

  6.   

    关于对象,php5始终传递引用见手册中“关于引用”
      

  7.   

    xuzuning(唠叨)终于出面了
    高手出手就是不一样.$DB3是$DB的引用,这循环中替代了$DB,循环一次跳了出去,这可以理解了.但是我用$DB2来替代$DB3,效果是一样的.
    注:$DB2是事先构造好的类,并非是$DB的引用.同时他们都是全局变量.假如这个问题不能解决,请大家给出个点子,告诉我这样设计这样的多重循环
      

  8.   

    $DB = new db_driver();
    $DB2 = new db_driver();function test() {
      global $DB,$DB2;
      $DB->select('bigcat','*');
      $i = 0;
      while ($temp = $DB->fetch_array()) {
        echo $i."<br/>";
        $DB2->select('smallcat','*');
        $j = 0;
        $i++;
        while ($t = $DB3->fetch_array()) {
          echo $j."<br/>";
          $j++;
        }
      }
    }
      

  9.   

    对,我是怎么干的,但是还是出错。
    假如不是以函数test()形式,而是以过程的显示出现,就能正确运行。