PHP – クエリによる結果の取得

概要

PHPからデータベースに接続した後、クエリを実行する手順は以下の通り。

  1. データベースへの接続で生成したPDOオブジェクトのqueryメソッドに、クエリの内容を与えて実行
  2. メソッドから返されるオブジェクト(PDO::PDOStatement)から、fetch()メソッドを使ってクエリの結果を引き出す

SELECT句の例

次のコードの14~19行でSELECT句をクエリとして渡し、その結果から内容を取り出している。

  • 14~15行目でPDOオブジェクトのquery()メソッドにSELECT句のクエリ内容を渡し、実行結果のPDOStatementオブジェクトを$resultに受け取っている
  • 16行目からのwhileループで、結果のレコードを一つずつフェッチしている
  • 17~18行目で、フェッチされたレコードの各カラムに対応する値を、フィールド名をキーとして指定して表示

実行結果は以下の通り。

06000 山形県
19000 山梨県
35000 山口県

SHOW TABLESの例

検索結果ではないが、コマンドのSHOW TABLESも同じように扱い、結果は一列のデータとして得られる。

実行結果は以下の通り。

pop_pref
pref_name
shop
test
test_score
test_sex
wholesale

PDOStatement::fetch()の引数について

省略可能な第1引数int $fetch_styleは、PDO::FETCH_*で指定する定数で、通常よく使われるのは以下。

  • PDO::FETCH_ASSOC→カラム名を指定する
  • PDO::FETCH_NUM→0から始まる整数でカラム番号を指定する
  • PDO::FETCH_BOTH→上記のいずれでも指定可能(省略時のデフォルト)

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です