PHPでデータベースからデータ取得(SELECT)する方法

投稿日: 作成:   更新:

PHPからMySQLにPDOを使って、DBからデータ取得(SELECT)する方法です。

PDOの使い方について詳しく知りたい方は次の記事をご覧ください。

PHPからMySQLに接続する方法

SELECT文の書き方

データを取得するには「SELECT文」を使用します。

SELECT カラム名 FROM テーブル名 WHERE 条件;

今回は次のSELECT文をPHPで実行していきます。

SELECT * FROM users WHERE id = 1;

PHPでデータ取得する書き方

MySQLのtestdbデータベースにあるusersテーブルに対して「id=1」のデータを条件にして取得しています。

取得したデータをvar_dumpで出力していますが、適宜自分の環境に合わせてください。

<?php

try {
    // DB接続
    $pdo = new PDO(
        // ホスト名、データベース名
        'mysql:host=localhost;dbname=testdb;',
        // ユーザー名
        'root',
        // パスワード
        '',
        // レコード列名をキーとして取得させる
        [PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC]
    );

    // 条件指定したSQL文をセット
    $stmt = $pdo->prepare('SELECT * FROM users WHERE id = :id');

    // 「:id」に対して値「1」をセット
    $stmt->bindValue(':id', 1);

    // SQL実行
    $stmt->execute();

    // 取得したデータを出力
    foreach ($stmt as $row) {
        var_dump($row);
    }

} catch (PDOException $e) {
    // エラー発生
    echo $e->getMessage();

} finally {
    // DBを閉じる
    $pdo = null;
}

?>

以上です。