2012-08-22 118 views
0

我在遍历MySQL行时遇到了问题。这是我当前的代码:使用mysql_fetch_array循环跳过第一行

$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行,为什么只经过1次迭代结束while循环?我是什么理解错误?

编辑:它似乎显示一个比正确的行数少。 I.E. while循环运行的时间比它应该少1次。

+2

什么是$ numtrans?我假设你遗漏了你的选择查询的原因... –

+0

你确定只有一行?你是否在MySQL中运行它? – Neal

+0

这样的代码是完全没有问题的!添加更多重要的代码 – Razvan

回答

2

发现问题。我正在取得第一行

$row2 = mysql_fetch_row($result); 

在while循环之外,从而导致它在第二行开始并跳过第一行。

+0

** OY ** .......... – Neal

+0

OY ..? = /好还是不好OY? –

+0

@Hubrid ...在某个时间查找它。 – Neal