2016-09-23 6 views
0

私はデータを取得してforeachループで表示しようとしていますが、引数エラーを出していませんが、whileループでこれを試してみるとうまくいきます。 mysqli_fetch_arrayので、それはwhile loopMarsqli_fetch_arrayはforearchループでは機能しません

// While 
while($row = mysqli_fetch_row($result)) 
{ 
    var_dump($row); echo "<hr />"; 
} 

// Foreach 
foreach(mysqli_fetch_array($result) as $row) 
{ 
    var_dump($row); echo "<hr />"; 
} 
+1

以下、その異なるように使用することができ、それぞれの項目をループするために存在する配列のために使用してループ、'ですいいえ – Ghost

答えて

0

でのみ可能だなぜそれの名前から来ているように、私の質問は、なぜ私はforeachのでmysqli_fetch_arrayを使用してデータをフェッチすることはできませんされていること - を配列として、あなたの結果の1行をフェッチします。

そこで、foreach(mysqli_fetch_array($result) as $row)

1行を取得し、この行を反復します。

while($row = mysqli_fetch_row($result))はフェッチする何もないまで行をフェッチください

を意味しています。 フェッチするものがない場合while - 条件がfalseでループが壊れています。

情報についてwhile-loopforeach-loop

1

あなたが直接mysqli_fetch_arrayのためのforeachを使用することはできません。 foreachのは、継続的 `foreach`にし、関数を呼び出すwhile`

あなたは

$result = array(); 
    while($row = mysqli_fetch_array($result)) { 
     $result[] = $row; 
    } 

    foreach($result as $row) { 
     var_dump($row); 
     echo "<hr />"; 
    } 
+0

は参照を使用しません。 &$ rowとしてのforeach(mysqli_fetch_array($ result))は動作しますか? – Roy123

+1

それは動作しません。 –

関連する問題