列を指定してデータを読み込む

 前節までで、結果セットを1行分取り出す方法を見てきました。ここでは、結果セットの1行分の中から列を指定してデータを読み込む方法を見てみましょう。そのために「fechColumn」メソッドを使います。

クラス名 PDOStatement
メソッド名 fetchColumn
概要 結果セットの次の行から単一の列を返す
パラメーターリスト
パラメター名 説明
int $column_number 読み込んだ行から処理したい列の0から始まる番号を指定する。省略した場合は0番目が読み込まれる
返り値
mixed 結果セットの次の行から単一の列データを返す。行がない場合はFALSEを返す
fetchColumメソッドの仕様

○ ファイル

 「FetchNumTest.php」ファイルをコピーして、次のPHPファイルをプロジェクトに追加してください。

ファイルの種類 PHPファイル
ファイル名 FetchColumnTest.php

サンプルダウンロード

○ プログラム

 次のようにプログラムを記述してください。

FetchColumnTest.php

  1. try{
  2.  //データベースに接続する
  3.  $pdo = new PDO('mysql:host=' . $host . ';dbname=' . $dbname .';charset=utf8;',
  4.   $username,
  5.   $password);
  6.  //SQL文を実行する
  7.  $result = $pdo -> query('SELECT * FROM users;');
  8.  //データを取得する
  9.  while($row = $result -> fetchColumn(3)){
  10.   var_dump($row);
  11.  }
  12. }catch(PDOException $e){
  13.  var_dump($e -> getMessage());
  14. }

○ 実行結果

実行結果
実行結果

○ 解説

 25行目では、fetchColumnメソッドを指定しています。パラメーターに「3」を渡しているので、0から数えて3番目の列のデータ、つまり、usersテーブルのname列のデータが取得できます。

前へ   次へ