我在迭代MySQL行时遇到了麻烦。这是我目前的代码:
$query = "SELECT * FROM translations
WHERE iddoc = '$id'
AND submitted = 1;";
$result= mysqli_query($query);
$numrows = mysqli_num_rows($result);
$row2 = mysql_fetch_row($result);
if ($numrows > 0) {
while($eachrow = mysqli_fetch_array($result, MYSQLI_NUM)) {
echo $eachrow[0];
echo ", ";
echo $numrows;
}
}
结果是:
6, 2
但如果有2行,为什么while循环仅在1次迭代后结束?我理解错了什么?
编辑:它似乎显示的行数少于正确的行数。 I.E. while循环的运行时间比它应该少1个。
答案 0 :(得分:3)
发现问题。我用
取了第一行$row2 = mysql_fetch_row($result);
在while循环之外,从而导致它在第二行开始并跳过第一行。