我对这个mysql查询有一个小问题。
$sql = "SELECT name FROM videos ORDER BY counter DESC LIMIT 5";
$result = mysql_query($sql, $conn) or trigger_error("SQL", E_USER_ERROR);
$list = mysql_fetch_assoc($result);
while($list = mysql_fetch_assoc($result)){
echo $list['counter'];
echo "<br>";
}
mysql_free_result($result);
我想要实现的是按订单"柜台"列出5个条目,但何时列出?它只显示4个条目,如下所示:-
5648
4575
1595
35
那么我的第五个参赛作品在哪里?为什么它不发布呢?注意,第5个条目也是值最高的条目
305355
提前感谢
您在从结果集(即305355
)弹出一条记录的循环之前提取。
$list = mysql_fetch_assoc($result); // REMOVE THIS LINE
while($list = mysql_fetch_assoc($result)) {
// output code
}
尝试减少代码并使用mysqli_
函数
$sql = "SELECT name FROM videos ORDER BY counter DESC LIMIT 5";
$result = mysql_query($sql, $conn);
while($list = mysql_fetch_assoc($result)){
echo $list['counter']."<br>";
}
尝试一下这个代码。。
$sql = "SELECT name FROM videos ORDER BY counter DESC LIMIT 5";
$result = mysql_query($sql, $conn) or trigger_error("SQL", E_USER_ERROR);
while($list = mysql_fetch_assoc($result)){
echo $list['counter'];
echo "<br>";
}
mysql_free_result($result);
您调用了两次mysql_fetch_assoc,这就是为什么您的第一行在第一次调用mysql_fetch _assoc时获得通过,而剩余的show在第二次调用