0

多くの例で次のwhileループ条件を確認し、何度も使用しました。私はそれがどのように機能し、どのように使用するかを知っています。しかし、私がコーディングしているので、ここでの条件は意味がありません。

コードを見ると、条件は常に真であるようです。while(1)と同じように。* mysql_fetch_assoc()*には、常に同じデータが渡されるためです。したがって、条件は定数です。

while($arr = mysql_fetch_assoc($data)) 
{
      //other code
}

さて、私はどこが間違っていますか????

4

2 に答える 2

4

を呼び出すたびに、結果セットから次のmysql_fetch_assoc行が取得されます。行がもうない場合は戻り、ループは終了します。false

$dataリソースデータ型であり、おそらく最後にフェッチされた行に関する状態を保持します。
これはそれほど珍しいことではありません。配列でさえ、特定の配列関数を使用して操作できる現在の要素への内部ポインターを持っています。

于 2013-01-05T10:04:21.820 に答える
0

PHP Webサイトから、mysql_fetch_assoc"フェッチされた行に対応する文字列の連想配列を返します。行がない場合はFALSEを返します。 "

したがって、使用可能な行がまだある場合は常にmysql_fetch_assoc、行の内容の関連する配列を返し、次の行へのポインタをインクリメントし、whileループが実行されます。

mysql_fetch_assocこれ以上行がなくなるFALSEと、ループが中断されます。

また、PHP 5.5.5以降、この関数は非推奨になることに注意してください。

于 2013-01-05T10:05:27.813 に答える