PDOStatement::bindColumn

(no version information, might be only in CVS)

PDOStatement::bindColumn --  カラムを PHP 変数にバインドする

説明

bool PDOStatement::bindColumn ( mixed column, mixed &param [, int type [, int maxlen [, mixed driver_options]]] )

警告

この関数は、 実験的なステータスにあります。これは、この関数の 動作、関数名、ここで書かれていること全てがPHPの将来のバージョンで予告 なく変更される可能性があることを意味します。注意を喚起するとともに自分 のリスクでこの関数を使用してください。

それぞれの行フェッチで、param は一致するカラムの値を含みます。 column は 1 から始まるカラムのオフセット、 もしくはカラム名です。 ポータビリティを最大化するため、PDOStatement::execute() をコールする前にこの関数をコールしないでください。

パラメータ

column

結果セット中のカラム番号 (1 から始まる) を指定します。

param

カラムがバインドされる PHP 変数名を指定します。

type

パラメータのデータ型を PDO_PARAM_* 定数で指定します。

maxlen

パラメータの最大長を指定します。

driver_options

例 1. バインドした結果セットは PHP 変数に出力する

PHP 変数にバインドしている結果セットのカラムは、 アプリケーションで利用可能な各行に含まれるデータを作成するための 効果的な方法です。 以下のサンプルは、どうやって PDO が様々なオプションやを理にかなったデフォルト値を用いて カラムをバインド、取得するかを例示しています。

<?php
function readData($dbh) {
  
$sql = 'SELECT name, colour, calories FROM fruit';
  
try {
    
$stmt = $dbh->prepare($sql);
    
$stmt->execute();

    
/* 明示的なデータ型とデータ長を用い、カラム番号によってバインドする */
    /* Bind by column number with an explicit data type & length */
    
$stmt->bindColumn(1, $name, PDO_PARAM_STR, 64);

    
/* デフォルトのデータ型とデータ長を用い、カラム番号によってバインドする */
    
$stmt->bindColumn(2, $colour);

    
/* デフォルトのデータ型とデータ長を用い、カラム名によってバインドする */
    
$stmt->bindColumn('CALORIES', $cals);

    while (
$row = $stmt->fetch(PDO_FETCH_BOUND)) {
      
$data = $name . "\t" . $colour . "\t" . $cals . "\n";
      print
$data;
    }
  }
  
catch (PDOException $e) {
    print
$e->getMessage();
  }
}
readData($dbh);
?>

上の例の出力は以下となります:

apple   red     150
banana  yellow  175
kiwi    green   75
orange  orange  150
mango   red     200
strawberry      red     25

以下も参照ください

PDOStatement::execute()
PDOStatement::fetch()
PDOStatement::fetchAll()
PDOStatement::fetchSingle()