0

の使い方がわかりにくい

while($row = mysql_fetch_array($query))

変数「$query」にあるデータベースのいくつかの要素を表示します。さらに、関数「mysql_fetch_array()」によって変数「$row」に何が渡されるのかわかりません。私の推測では、「$query」にあるデータベース レコードの 1 つのレコード (または行) のみが指定されていますが、関数はどの行をどのように認識しますか??

例を使って自分自身を説明しようとします。

変数 $query に 2 つのフィールド (「id」と「name」など) を持つ 3 つのレコードがあるとします。最初に、変数 $row が最初の要素 (id=1、name=antonio など) で満たされている間、コードによって "1" と "antonio" を表示または操作できるようになり、コードが終了して while が開始されます。また。

ここで、変数「行」に与えられたものが 2 番目の要素であると仮定しますが、関数は 2 番目の要素 (最初の要素や 3 番目の要素ではなく) を返さなければならないことをどのように認識しますか?? つまり、私はこの情報をどこにも提供しません...

4

2 に答える 2

2

このステートメント$row = mysql_fetch_array()を while ループの条件ステートメントとして配置すると、次の 2 つのことが達成されます。

  1. while ループがその条件ステートメントをチェックするたびに、出力できる MySQL 情報の新しい行を取得します。

  2. 行がなくなると、関数は FALSE を返し、while ループが停止します。

于 2013-01-06T14:02:42.733 に答える
1

変数 $query はリソースであるため、ある種の内部「行カウンター」があります。mysql_fetch_array() またはそのバリアントを呼び出すたびに、このカウンターがインクリメントされます。その結果、この関数 mysql_fetch_array を呼び出すたびに、次の行が取得されます。最後の行が受信され、再度呼び出すと、false が返されます。while ループの仕組みにより、このループから抜け出します。

于 2013-01-06T14:03:01.950 に答える