这里可能是一个简单的解决方案,但这是我的代码:
<?php
include("connect.php");
$data = mysql_query("SELECT * FROM table ORDER BY name");
$info = mysql_fetch_array($data);
?>
然后打印:
<select>
<?php
while($info = mysql_fetch_array($data)) {
echo '<option value="'.$info['value'].'" rel="'.$info['del'].'">'.$info['name'].'</option>';
}
?>
</select>
出于某种原因,它会返回除第一个结果之外的所有结果?前任。我按名称订购,第一个应该是 Apples (id = 9),但它跳过了它并返回了 Blueberries (id = 5)
感谢您的帮助!
最佳答案
您在循环之前 mysql_query()
之后立即调用 mysql_fetch_array()
,它会将一行检索到 $info
中并推进记录指向第二行的指针。当您随后进入获取循环时,行集已经指向第二行。
$data = mysql_query("SELECT * FROM table ORDER BY name");
// Don't do this!
// $info = mysql_fetch_array($data);
// Instead just proceed with your while loop to fetch rows...
关于php - MySQL 查询不打印所有表数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11941960/