サンプル・プログラムの実行例
サンプル・プログラム
list1.php | サンプル・プログラム本体。 |
解説:一覧を取り出すSQL文
51: //実行するSQL
52: define('SQL', "SELECT * FROM chronologic WHERE 1;");
一覧を取り出すSQL文は下記の通り。
SELECT * FROM chronologic WHERE 1;WHERE句の後に '1' を置いているのは、「常に条件が成立する」という意味である。つまり、テーブル chronologic のすべてのレコードを取り出すというSELECT文になる。
解説:すべてのレコードを取り出す
203: foreach ($pdo->query($sql) as $row) {
204: $res .=<<< EOT
205: <tr>
206: <td class="index">{$row['name']}</td> <!-- カラム name -->
207: <td class="year">{$row['birth']}</td> <!-- カラム birth -->
208: <td class="year">{$row['death']}</td> <!-- カラム death -->
209: <td class="comment">{$row['comment']}</td> <!-- カラム comment -->
210: </tr>
211:
212: EOT;
213: }
SQL実行とエラー処理は前回と同じである。
すべてのレコード、つまり、SQL文にマッチした複数のレコードを取り出すには foreach 文と組み合わせる。PDO::query が失敗するまで繰り返せば、1レコードずつデータを読み込むことができる。PDO::exec とは異なり、2週目からは PDOStatement オブジェクトからデータを取り出すので、パフォーマンスが低下することもない。
あとは、取り出したオブジェクトを配列 $row に入れ、それを画面表示するためのHTML文に変換するだけである。
すべてのレコード、つまり、SQL文にマッチした複数のレコードを取り出すには foreach 文と組み合わせる。PDO::query が失敗するまで繰り返せば、1レコードずつデータを読み込むことができる。PDO::exec とは異なり、2週目からは PDOStatement オブジェクトからデータを取り出すので、パフォーマンスが低下することもない。
あとは、取り出したオブジェクトを配列 $row に入れ、それを画面表示するためのHTML文に変換するだけである。
参考サイト
- PHP Data Objects:公式
- PHP+SQLite:参考書籍の紹介:ぱふぅ家のホームページ
- (PHP)PDOで、SQLiteにアクセスしてみた:3流プログラマのメモ書き
- がいぶきおくそうち:sqliteではまった
(この項おわり)
(2022年11月13日)PHP8対応,他.