可能应该这么写
$rrr=mysql_fetch_array($result) or die("jhjhhjhjsddddd");
while($rrr){
...
}

解决方案 »

  1.   

    mysql_fetch_array不要后面那个...
      

  2.   

    while($rrr=mysql_fetch_array($result) or die("jhjhhjhjsddddd"))
    这算是什么,怎么运行?
      

  3.   

    当然是这样,你不应该加or die
    加了or die,一旦数据读取完毕 就会执行 die...
    那么你后后的echo $oo不会被执行,也就显示不出来
      

  4.   

    1、不可能!
    while($rrr=mysql_fetch_array($result) or die("jhjhhjhjsddddd")){...}
    并没有错误,只是没有必要
    测试例:
    $ar = array(
    array(1),
    array(2),
    array(3),
    array(4),
    );
    function fetch() {
      global $ar;
      return array_shift($ar);
    }
    while($rrr=fetch($result) or die("jhjhhjhjsddddd")) {
      print_r($rrr);
    }2、die应写在查询语句处
    $result=mysql_query($sql2) or die("jhjhhjhjsddddd");
    这样才能在sql指令出错的时候起到错误处理的功能
      

  5.   

    $rrr=mysql_fetch_array($result) or die("jhjhhjhjsddddd")执行到最后资源中得所有行都被取完了,
    mysql_fetch_array($result) 无资源可取,返回false,
    由于你用得 or (或运算符),程序就会执行 or 后面得表达式,
    然而 or 后面的表达式永远都返回true, 虽然返回true, 但是它是 die() 返回得true,
    所以你的程序执行到此就完美结束了, echo $oo还没来得及执行,当然没输出了!程序逻辑没搞清楚,哥们!
    不要看别人用个or die(),自己也乱用,要明白在用!
      

  6.   

    看来唠叨也有大意的时候啊while($rrr=fetch($result) or die("jhjhhjhjsddddd")) {
    print_r($rrr);
    }
    没错,这样是可以输出,但也会输出die的值,你改成下面的试试
    $sr = '';
    while($rrr=fetch($ar) or die("jhjhhjhjsddddd")) {
    $sr .= print_r($rrr,true);
    }
    echo $sr;
      

  7.   

    可是唠叨老大啊,他的代码中 echo $oo; 是在循环执行完了之后才执行的啊!你说的意思我知道, 你的代码是把 print_r($rrr); 放在循环中了,肯定能出来值,
    最后一次循环false运行die的确没必要啊!
      

  8.   

    while($rrr=mysql_fetch_array($result) or die("jhjhhjhjsddddd")){...}我觉得这句中间的or相当于 || ,两条语句都会执行, 而die()会终止程序执行,不管$rrr=mysql_fetch_array($result)对错与否,所以发生了楼主的情况!后面的die加的毫无必要,理论上就算$rrr=mysql_fetch_array($result)执行错误的话自然就会跳出循环,判断的话在循环里面做判断更好一些!
      

  9.   

    while($rrr=mysql_fetch_array($result) or die("jhjhhjhjsddddd"))没有测试,不过我觉得,当mysql_fetch_array($result)到最后一行后,肯定会执行die()并打印出jhjhhjhjsddddd的,print_r就不会执行了。
    这里加这个属于逻辑错误。mysql_fetch_array($result)总会到没有数据的可赋值给$rrr的时候的。