1

我一直在编写一些从 MySQL 数据库中提取条目的代码。这些是数字 1 到 38

但是,它只返回每隔一个数字,即 2,4,6,8 而不是 1,2,3,4。

$result = mysql_query("select (caseID) FROM `case` order by caseID")
 or die(mysql_error());  

while(mysql_fetch_array( $result )) 
{ 
    $row = mysql_fetch_assoc($result); 
    $countName= $row['caseID'];

    Print $countName;
} 

我尝试了各种更改并将代码减少到最低限度。但似乎没有任何效果。

4

2 回答 2

6

调用 mysql_fetch_array 两次,这就是原因。

试试这个

while($row=mysql_fetch_assoc( $result )) 
{ 
$countName= $row['caseID'];
 print $countName;
} 
于 2013-01-07T09:27:08.717 回答
0

这是因为您正在调用mysql_fetch_array,它检索一个结果,然后您调用mysql_fetch_assoc,它检索另一个结果。然后重复此操作,直到没有更多结果。

或者,换句话说,你在不使用它的情况下获取一个结果,然后获取另一个结果,然后使用它,有效地跳过所有其他结果。

这应该做的工作:

while($row = mysql_fetch_assoc($result)) 
{ 
    print $row['caseID'];
}

另外,请查看文档。把你的眼睛转向那个写着“警告”的大盒子,里面有一个停车标志。

于 2013-01-07T09:30:53.887 回答