while循环只显示一个结果

0 php mysql

我有这个简短的代码来回显MySql数据库中的两个最后一行.问题是它只显示一个 - 一个但是最后一行.我无法弄清楚我做错了什么.我在其他网站上使用几乎相同的代码,它的工作正常.如果我在Mysql查询中使用LIMIT 1,我什么也得不到回应.你能帮忙吗?非常感谢.

<?
   $query = mysql_query("SELECT no, date, msg FROM news ORDER BY -no LIMIT 2");
   $data = mysql_fetch_array( $query );
   while ( $data = mysql_fetch_array( $query ) ) {
      $text = nl2br ( $data['msg'] );
      echo ('<b>Aktuality z Hlavatice ('.$data['date'].')</b><br /><br />' . $text);
   }
?>
Run Code Online (Sandbox Code Playgroud)

Elo*_*han 9

首先删除$data = mysql_fetch_array ($query);,只留下一个while.第一次打电话"偷"你的第一排,因为LIMIT 2你只会收到一个.