{category}

PHP - PDO

PDOStatement::fetch()

ピーディーオー ステートメント フェッチ(データベースとSQL

意味 結果セットから行を取得


PDOStatement::fetch()とは?

PDOStatement::fetch()メソッドは、結果セットから次の行を取得します。このメソッドは、query()やexecute()の後に使用され、結果を1行ずつ処理する際に便利です。

PDOStatement::fetch()の具体的な使い方

1行ずつ取得の例

$pdo = new PDO('mysql:host=localhost;dbname=mydb', 'username', 'password');

$stmt = $pdo->query('SELECT name, age FROM users');

while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
    echo "名前: {$row['name']}, 年齢: {$row['age']}歳\n";
}

👇出力結果

名前: 山田太郎, 年齢: 30歳
名前: 佐藤花子, 年齢: 25歳
名前: 鈴木一郎, 年齢: 35歳

この例では、PDOStatement::fetch()メソッドを使用して、usersテーブルから名前と年齢を1行ずつ取得しています。PDO::FETCH_ASSOCを使用して結果を連想配列として取得し、whileループで各行を処理しています。

特定の行のみ取得する例

$pdo = new PDO('mysql:host=localhost;dbname=mydb', 'username', 'password');

$stmt = $pdo->prepare('SELECT name, email FROM users WHERE id = ?');
$stmt->execute([1]);

$user = $stmt->fetch(PDO::FETCH_ASSOC);

if ($user) {
    echo "ユーザー名: {$user['name']}\n";
    echo "メールアドレス: {$user['email']}";
} else {
    echo "ユーザーが見つかりませんでした。";
}

👇出力結果

ユーザー名: 山田太郎
メールアドレス: [email protected]

この例では、PDOStatement::fetch()メソッドを使用して、特定のIDを持つユーザーの情報を1行だけ取得しています。プリペアドステートメントを使用してSQLインジェクションを防ぎ、安全にデータを取得しています。

PDOStatement::fetch()に関するよくある質問

Q. fetch()の引数は何を指定しますか?
A. fetch()の引数には、取得するデータの形式を指定します。よく使われるのは PDO::FETCH_ASSOC(連想配列)、PDO::FETCH_OBJ(オブジェクト)、PDO::FETCH_BOTH(両方)などです。
Q. fetch()が false を返す時は?
A. fetch()が false を返すのは、全ての行を取得し終わった時か、エラーが発生した時です。これを使ってループの終了条件とすることができます。
Q. 大量のデータでfetch()は適切ですか?
A. fetch()は1行ずつデータを取得するため、大量のデータを処理する場合でもメモリ効率が良いです。ただし、全データを一度に取得する必要がある場合は fetchAll() の方が適しています。

PDOStatement::fetch()が学べる書籍の紹介

「プログラミング単語帳」を使って、プログラミングの単語を英単語のように学習してみませんか?
プログラミング単語帳には、PHPのPDOStatement::fetch()やGROUP BY、外部キー、PDO::exec()、などのような実務でよく使われる単語が数百以上収録されています。
この書籍には、プログラミングの単語の意味や読み方、単語の使い方がわかる例文などが掲載されており、いつでもどこでもプログラミングの学習ができます。

よく使われる単語にだけ絞って学習することができるので、効率的にプログラミングが学習できます。

1日5分の暗記でプログラミンが身に付く!プログラミング単語帳 公式ストアで発売中!

HTML編、CSS編、JavaScript編、PHP編、Ruby編、その他単語編の6シリーズ分が公式ストアにて販売中です。気になった方はぜひ購入してみてください。


PHPを学べる「プログラミング単語帳」アプリ

プログラミング単語帳がアプリになりました!PHPはもちろん、10種類のプログラミング言語の中から、よく使われる単語をスマホで学習できます。

収録単語は2,000単語以上!
現在は、HTML、CSS、JavaScirpt、PHP、Laravel、Ruby、Python、MySQL、Linux、など10カテゴリーの単語帳が1つのアプリに収録されています。

いつでも、どこでも、隙間時間を有効活用して、プログラミングを効率的に学べるので、ぜひダウンロードしてみてください。

2024年7月アップデート情報:「Laravel」カテゴリーが追加されましました!

2024年8月アップデート情報:「MySQL」「Linux」カテゴリーが追加されましました!


関連するそのほかの単語

GROUP BY

データのグループ化

種類: SQL応用

外部キー

テーブル間の関連付け

種類: データベース設計

PDO::exec()

SQLクエリの実行(結果なし)

種類: PDO

#

1行コメントの別記法

種類: コメント

json_encode()

PHPの値をJSON形式に変換

種類: JSON