【发布时间】:2013-05-12 02:54:44
【问题描述】:
我正在使用“While”循环来遍历一组用户的名字、姓氏和电子邮件。当我的“While”循环执行并回显数据时,它成功显示了数据库中的行数据,但没有显示第 1 行。它从第 2 行开始并正确吐出所有内容,但为什么会跳过第 1 行?
$query= "SELECT * FROM email_list";
$result=mysqli_query($dbc, $query);
$row=mysqli_fetch_array($result);
while ($row=mysqli_fetch_array($result)) {
echo $row['first_name'] . ' ' . $row['last_name'] . ' : '
. $row['email'] . '<br />';
}
mysqli_close($dbc);
我发现的一件事是,如果我把这个部分:
$row=mysqli_fetch_array($result);
echo $row['first_name'] . ' ' . $row['last_name'] . ' : '
. $row['email'] . '<br />';
在“While”循环上方,它确实成功地显示了第一行数据,以及所有其他行,所以,如果这令人困惑,那么像这样编码它(很长的路 - 下面)实际上是可行的,但它似乎多余,我想使用最佳 DRY 做法:
$query= "SELECT * FROM email_list";
$result=mysqli_query($dbc, $query);
$row=mysqli_fetch_array($result);
echo $row['first_name'] . ' ' . $row['last_name'] . ' : '
. $row['email'] . '<br />';
while ($row=mysqli_fetch_array($result)) {
echo $row['first_name'] . ' ' . $row['last_name'] . ' : '
. $row['email'] . '<br />';
}
mysqli_close($dbc);
【问题讨论】: