我有这个查询,但结果只是数据库表中的最后一行
(我想显示表中的所有行:
$sql = mysql_query("SELECT * FROM LESSONS WHERE L_STATE='0' ORDER BY ID DESC") or die($sql_error);
if(mysql_num_rows($sql) > 0){
$resultset = array();
while($rs = mysql_fetch_assoc($sql)){
$resultset[] = $rs;
}
foreach ($resultset as $rs){
$l_id = $rs['ID'];
$l_title = $rs['L_TITLE'];
$l_comments = $rs['L_COMMENTS'];
$l_views = $rs['L_VIEWS'];
}
}else{
$l_id = $no_data;
$l_title = $no_data;
$l_comments = $no_data;
$l_views = $no_data;
}
答案 0 :(得分:2)
您反复覆盖相同的变量$l_id
,$l_title
等等,直到最后一行...然后您会惊讶于您只获得了最后一行?
您需要将输出内容放在循环中才能使其正常工作。
答案 1 :(得分:1)
您正在循环结果集,将结果分配给各自的变量,然后对它们不执行任何操作。每次循环迭代时,所述变量都会被覆盖,因此你只得到最后一行。