1

MySQL データベースからエントリを取得するコードをいくつか書いています。これらは 1 から 38 までの数字です

ただし、1,2,3,4 の代わりに 2,4,6,8 など、1 秒ごとの数値のみが返されます。

$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 を 2 回呼び出すのはそのためです。

これを試して

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

これは、mysql_fetch_array1 つの結果を取得する を呼び出してmysql_fetch_assocから、さらに別の結果を取得する を呼び出すためです。その後、結果がなくなるまで繰り返されます。

または、言い換えると、1 つの結果を使用せずにフェッチし、次に使用する別の結果をフェッチして、他のすべての結果を効果的に飛び越えます。

これは仕事をするはずです:

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

また、ドキュメントをご覧ください。「警告」と書かれた大きなボックスに目を向け、その中に一時停止の標識があります。

于 2013-01-07T09:30:53.887 に答える