我在遍历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次迭代后结束?我理解错了什么?

编辑:它似乎显示比正确的行数少一。即while循环运行的时间比预期少了1个。

最佳答案

发现问题。我在拿第一行

$row2 = mysql_fetch_row($result);


在while循环之外,从而使其从第二行开始并跳过第一行。

关于php - 循环使用mysql_fetch_array跳过第一行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12079648/

10-14 15:22
查看更多