我有这个数组从mysql填充。但它没有向我展示第一张唱片。我无法弄清楚问题是什么。应该很简单。这是代码。
$result=mysql_query("SELECT user_instance.instance_name, user_instance.host_name FROM
dba_account, user_instance WHERE dba_account.account_id = user_instance.account_id AND
dba_account.account_id = '1'");
echo mysql_error();
$nume = mysql_fetch_row($result);
while($note = mysql_fetch_array($result))
{
echo "<tr>";
echo "<td><input type='text' name='instance_name' class='instance_name'
disabled='disabled' value='$note[instance_name]' size='25' /></td>";
echo "<td><input type='text' name='host_name' class='host_name' disabled='disabled'
value='$note[host_name]' size='25' /></td>";
echo "</tr>";
}
答案 0 :(得分:6)
您正在获取$ nume = mysql_fetch_row中的第一行。这拉开了第一个记录。然后,您将迭代while循环中的其余记录。删除第一行。
答案 1 :(得分:4)
第一次调用mysql_fetch_row()
时,它会将结果资源指针前进到第二个结果。不要那样做。特别是考虑到你没有以任何方式在循环中使用变量$nume
,这对你的逻辑是不必要的和有害的。
// Don't do this!
//$nume = mysql_fetch_row($result);
// Instead just fetch the loop
while($note = mysql_fetch_array($result)) {
// etc...
}