while循环显示的记录少于应有的记录

时间:2013-03-09 16:49:10

标签: php mysql while-loop

我在数据库中有一个表格,如下所示:

类别:
id |名字

它包含5条记录,但是当我尝试使用while循环显示它时。它只显示4条记录。它没有显示最后的记录。 这是我的PHP代码:

    $query = "SELECT * FROM category";
    $query = mysql_query($query);

    $rows = mysql_num_rows($query); // shows 5 

    while($row = mysql_fetch_array($query))
    {
        echo .$row['name']."<br>";
    }

如果我使用for循环,它只显示2条记录 另外我注意到当我使用print_r(mysql_fetch_array($ query))时,它只显示最后一条记录,与var_dump相同。它不应该显示所有记录吗? 是我的代码,还是PHP配置? 感谢您的任何提示

3 个答案:

答案 0 :(得分:1)

你正在制作两个相同的变量

使用此

    $query = "SELECT * FROM category";
    $result = mysql_query($query);

   $rows = mysql_num_rows($result); // shows 5 

   while($row = mysql_fetch_array($result))
   {
    echo $row['name']."<br />";
  }

答案 1 :(得分:0)

我从未见过这种类型的问题我认为你的上一个'名字'字段是空的 检查打印计数器或使用print_r示例

while($row = mysql_fetch_array($result))
{
  echo "<pre>";
  print_r($row);
  echo "</pre>;
}

答案 2 :(得分:0)

我不知道怎么可能但是在我使用PDO从我的表中选择记录后,问题就消失了。 感谢您的帮助,尤其是Marcel。