$link=@mysql_connect("localhost","root","fww0404");
    if(!$link)
    {
    die("数据库连接错误!");
    }
    else
    {
    mysql_select_db("fww",$link);
    $result=mysql_query("select * from users",$link);
     $num_rows = mysql_num_rows($result);
     echo $num_rows;
     while ($row = mysql_fetch_array($result, MYSQL_ASSOC))
      {
       echo $row["id"];
      }     
    }
数据已经取出了 其中 $num_rows=4对的 ,数据库中的确有四条数据,但是
在while循环中,只取出了三条 id,第一条怎么没取出去来,为什么用了while只能取出三条数据啊?
这个很疑惑啊,反正就是取数据的时候,会少掉一条(而且是第一条),求解

解决方案 »

  1.   

    你的代码不会出现少一条的现象,但并不排除有一个 id 为空
      $i = 1;
      while ($row = mysql_fetch_array($result, MYSQL_ASSOC))
      {
      echo $i++ . ':' . $row["id"];
      }
      

  2.   

    $row = mysql_fetch_array($result, MYSQL_ASSOC)
    这个是取结果集中的第一行数据  第一行数据被拿出来了  while肯定会少一条   
      

  3.   

    谢谢楼上的回答,到时排除这个可能,我是的id字段是自动增长的(数据库中也的确没有空),而且我phpadmin中用 sql 语句执行了查询,的确是四条啊,id都没空。
    而且我也在while 中的,打印了id 的确只循环了三次,所以我很疑惑,继续求解
      

  4.   

    $num_rows = mysql_num_rows($result);
    这句话去掉试试看  
    我也是新手  类似的问题昨天才被解决  
      

  5.   

    $num=mysql_num_rows($result)
    貌似应该这样写吧  查询结果集  返回一个数字   你那样的话  好像是吧第一行取出来了。。你试试看