@ PHP

CRUD:結果セットの取得

結果セットとは、SQL の SELECT 命令によって、1個または複数のテーブルから取り出されたレコード群を保持するために、メモリ上に用意された「仮想テーブル」のことです。

結果セットを取得するのは、prepare() / execute() メソッドの役割です。execute() メッソドは、取得した結果セットを PDO Statement オブジェクトにセットします。正確には、PDO Statement オブジェクトはSQL 命令とその実行結果(結果セット)を管理するためのオブジェクトです。

ここでは、SELECT 命令によって products テーブルの結果セットを取得し、レコードの件数を表示してみます。

selecttable.php

<?php
require_once('dbconnect.php');

try {
    $sql = <<<SQL
SELECT * FROM products ORDER BY id DESC
SQL;

    $sth = $dbh->query($sql);
    $sth->execute();

    if ($sth == true) {
        printf("Select returned %d rows.\n", $sth->rowCount());
    }

} catch (PDOException $e) {
    print "ERR! : {$e->getMessage()}";
} finally {
    $dbh = null;
}