php搜索数据库数据的时候不显示第一条记录

我的问题是这样的,在做一个信息系统的时候,需要一个查询的东西,就做了一个测试一下,选择其中一个分类查询,就是想多查几条数据出来,后来发现在数据表中本来有5条数据的,可是查询总是4条数据,而且是第一条数据记录没有,我的代码如下:

<?php
$cid = $_POST['cid'];
$sql = "select * from classify where cid='$cid'";
$query = mysql_query($sql);
$row = mysql_fetch_array($query);
while($row=mysql_fetch_array($query)){
echo "<table><tr><td>".$row['title']."</td></tr></table>";
}
?> 

这样写的时候,会查询出一些记录,可是第一条是没有的,百思不得其解,后来在百度上找到了答案,方法如下

<?php
$cid = $_POST['cid'];
$sql = "select * from classify where cid='$cid'";
$query = mysql_query($sql);
//$row = mysql_fetch_array($query);
while($row=mysql_fetch_array($query)){
  echo "<table><tr><td>".$row['title']."</td></tr></table>";
}
?>

这样就行了,因为上面注释掉的那行已经把第一行给取出来了,说到底还是php的基本功力不行。

网友经典补充:

mysql_fetch_array()函数,作用是从mysql数据源中取得一行作为关联数组、数字数组或者两者兼有,要注意的是,这个函数每运行一次,数据库指针会往下移动一行
你第一次就已经下移一行了,那你下面的循环,当然的从第二行还是,那当然不会返回第一行
其实,你那条(刚才被注释的那条)写在哪里都是画蛇添足,毫无意义的代码!

未经允许不得转载:哈勃私语 » php搜索数据库数据的时候不显示第一条记录

本文共833个字 创建时间:2018年9月5日12:28   

分享到:更多 ()