ホームページ  >  記事  >  バックエンド開発  >  php を記述するこれら 2 つの方法の違いは何ですか?ソリューションのアイデア

php を記述するこれら 2 つの方法の違いは何ですか?ソリューションのアイデア

WBOY
WBOYオリジナル
2016-06-13 13:47:55696ブラウズ

php を記述するこれら 2 つの方法の違いは何ですか?
最初の書き方:

$sql="select * from table";

$query=mysql_query($sql);

while($row =mysql_fetch_array ($query);){

echo "output";

}







th 2 番目の書き込みメソッド:
$sql="select * from table";

$query=mysql_query($sql);

$row=mysql_fetch_array($query);

while($row){

echo "output";

}

------解決策----- -- -------------
while($row=mysql_fetch_array($query) )、 $row=mysql_fetch_array($query) 式の値が true かどうかを確認しますあれば、ループ部分を実行し、先頭に戻って $row=mysql_fetch_array($query) の値を確認する、などです。
2 番目の例では、$row の値は変更されません。つまり、ループ本体はまったく実行されないか、永久に実行されます。
mysql_fetch_array() の役割を理解する必要があるかもしれません。
------解決策---------
上の階の正しい解決策。 mysql_fetch_array(); に加えて、このメソッドは、SQL クエリ結果を取得するために mysql_fetch_object() メソッドを呼び出すこともできます。具体的な使い方については詳しく説明しません。百度にはたくさんあります
------解決策---------

PHP コード

while($row=mysql_fetch_array($query)){
//mysql_fetch_array 内にはリソースの場所のポインタがあり、各呼び出しはダウンストリーム データを指します。
//エントリー条件ループなので、判定のたびに$rowが下向きのデータとして生成され、これによりデータの終端に達したかどうかが判定できる。
//2回目の2階もほぼ同様。
<br><font color="#e78608">------解決策---------</font><br>2階の正解、花を散らす
<br><font color="#e78608">------解決策------------------</font><br>違いは次のとおりです: 前者は正しく、後者は正しいです間違っています
<br><font color="#e78608">------解決策--------</font><br>最初はトラバースで、2番目はただの最初の行、それはとても簡単です
<br><font color="#e78608">------解決策---------</font><br>最初の書き方は文法的に間違っているようです(while 式 式に余分なセミコロンがあります); <br><br>2 番目の書き方は無限ループのように見えます。 <br><br><br>――――――――――――――――――――――――――――――<br> プラグインベースCSDN フォーラムから提供されています。機能を拡張するために、署名ファイル ツールを作成し、皆さんと共有します。技術的な交流は歓迎です:)
<br><font color="#e78608">-----解決策---------</font><br>2 サイクル目の結果。 。 。無限ループを経験したようです。 。再起動のみ可能です。 。 <div class="clear"></div>
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。