现使用for($i=0 ; $i< mysql_num_fields( ## ); $i++){} 来逐个显示字段值时,可以显示所有字段
且在下一句显示字段 last为 11952.561而后将for(..)这一段注释掉,直接显示字段 last时,返回为空郁闷,卡在这一步好久了

解决方案 »

  1.   

    就是我用
    $a = mysql_query($sql);
    然后直接取
    $a的一个字段值,返回是空的,有些字段有返回,而有些字段就返回空的,郁闷
      

  2.   


    for(){
       里面,var_dump()返回完全正常
    }
    var_dump(); ->返回为NULL.
      

  3.   

    嗯,我代码贴出来: $a = mysql_query("select * From c_ad Where u='".$uid."' And SessionID='".$sessionID."'"); $b = mysql_fetch_array($a); echo($b['u'].'____'.$b['lsid']);  //返回结果: admin___(正确应为:admin__15411.11) exit;后调试为:
    $a = mysql_query("select * From c_ad Where u='".$uid."' And SessionID='".$sessionID."'");
    for( $i=0; $i < mysql_num_fields($a); $i++ ){ var_dump($b[$i].'<br />');    //返回的lsid " string(19) "15411.11 }

    echo($b['u'].'____'.$b['lsid']);  //返回结果: admin___(正确应为:admin__15411.11)
    exit;就是没有返回那个lsid字段的值,除了在for(){}这边
      

  4.   

    我怀疑是你的echo语句出问题了,你分别echo下,看能不能echo出15411.11
      

  5.   

    没有,试了N次了,var_dump($b['lsid']);返回为NULL
      

  6.   

      $a = mysql_query("select * From c_ad Where u='".$uid."' And SessionID='".$sessionID."'");    $b = mysql_fetch_array($a);
    var_dump($b);
        echo($b['u'].'____'.$b['lsid']);  //返回结果: admin___(正确应为:admin__15411.11)    exit;如果你只有一条结果的话,最好加上limit 0,1子句.
    如果有多条,你这样写只能读第一条.
      

  7.   


    数据库表里有没有这个字段?    $a = mysql_query("select * From c_ad Where u='".$uid."' And SessionID='".$sessionID."'");    $b = mysql_fetch_array($a);    echo($b['u'].'____'.$b['lsid']);  //返回结果: admin___(正确应为:admin__15411.11)   //在这里就可以测试到了    exit;
      

  8.   


    //在这个地方加上:
    print_r($b);//看看是什么.如果有值,要注意是一维还是二维数组,并且是$b[0]取值还是$b['lsid'].如果为空,就要看SQL和结果集了
    echo($b['u'].'____'.$b['lsid']);  //返回结果: admin___(正确应为:admin__15411.11)   //在这里就可以测试到了    exit;
      

  9.   

    解决了,是字段的大小写问题$b['lsID']就行了,不好意思各位.
      

  10.   


    $a = mysql_query("select * From c_ad Where u='".$uid."' And SessionID='".$sessionID."'");   while( $b = mysql_fetch_array($a)){    echo($b['u'].'____'.$b['lsid']);  //返回结果: admin___(正确应为:admin__15411.11)    exit;}也许可能返回到结果中有多行,其中有的行lsid字段是空的,而该行刚好是第一行,而你只取了第一行。建议用个循环把所有行打印出来,应该很快就能找到原因了。
      

  11.   

    PHP code
    $a = mysql_query("select * From c_ad Where u='".$uid."' And SessionID='".$sessionID."'");   while( $b = mysql_fetch_array($a)){    echo($b['u'].'____'.$b['lsid']);  //返回结果: admin___(正确应为:admin__15411.11)   }也许可能返回到结果中有多行,其中有的行lsid字段是空的,而该行刚好是第一行,而你只取了第一行。建议用个循环把所有行打印出来,应该很快就能找到原因了。