日期:2014-05-16  浏览次数:20491 次

while 循环遇到的问题,恳请指教!
问题是这样的:有一个stu表,要把里面的数据都取出来,
开始写了一次代码如下:

得到结果如下:

后来改正如下:

结果才正确:

不能理解之处是,mysql_fetch_assoc($rs)的结果要传给一个变量,之后才能得出正解,直接放在while循环里不能得到所有结果,小弟刚刚学习PHP,让大侠见笑了,那位高人指点指点!
------解决方案--------------------
mysql_fetch_assoc($rs) 会移动结果集($rs)的指针
所以 while(mysql_fetch_assoc($rs)) 会跳过一些记录,因为没有人去承接他
------解决方案--------------------
你执行了两次mysql_fetch_assoc 
------解决方案--------------------
mysql_fetch_assoc($rs);
会把当前记录读出,并把记录指针移到下一行

while(mysql_fetch_assoc($rs)){  // 这里只读取了,但没有输出,并且记录指针移动到下一条记录
    print_r(mysql_fetch_assoc($rs)); // 读取并输出了,记录指针移动到下一条记录
}

因此,执行以上的程序偶数的记录都会输出,而奇数的记录会跳过不输出。