⊗ppPmDBRGet 366 of 447 menu

PHPでのSQLクエリ結果の取得

前のレッスンでは、テストコードを作成しました。 データベースへのクエリを実行するその主要部分を 思い出してみましょう:

<?php $query = 'SELECT * FROM users'; $res = mysqli_query($link, $query) or die(mysqli_error($link)); var_dump($res); ?>

ご覧の通り、データベースへのクエリが実行された後、 変数 $res にはそのアクションの結果が 格納されます。しかし、それはPHPで必要な形式ではなく、 データベースから送信された形式で格納されています。

結果を馴染みのある形式で取得するには、 結果から1行を抽出する関数 mysqli_fetch_assoc を使用する必要があります。

試してみましょう:

<?php $row = mysqli_fetch_assoc($res); var_dump($row); ?>

結果として var_dump は最初の従業員の 配列を出力します:

<?php ['id' => 1, 'name' => 'user1', 'age' => 23, 'salary' => 400] ?>

これにより、変数 $res から最初の 従業員が消え、次の mysqli_fetch_assoc の 呼び出しでは既に次の従業員を取得します。

そして、従業員がなくなるまでこの関数を 呼び出すことができます。これが起こると、 次の関数呼び出しは false を返します。

試してみましょう:

<?php $row1 = mysqli_fetch_assoc($res); var_dump($row1); // 従業員番号 1 $row2 = mysqli_fetch_assoc($res); var_dump($row2); // 従業員番号 2 $row3 = mysqli_fetch_assoc($res); var_dump($row3); // 従業員番号 3 $row4 = mysqli_fetch_assoc($res); var_dump($row4); // 従業員番号 4 $row5 = mysqli_fetch_assoc($res); var_dump($row5); // 従業員番号 5 $row6 = mysqli_fetch_assoc($res); var_dump($row6); // 従業員番号 6 $row7 = mysqli_fetch_assoc($res); var_dump($row7); // NULL を出力 - 従業員がなくなりました ?>
日本語
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItalianoქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
当サイトでは、サイトの動作、分析、パーソナライゼーションのためにクッキーを使用しています。 データ処理はプライバシーポリシーに従って行われます。
すべて受け入れる 設定 拒否