PDOStatement::bindColumn
(no version information, might be only in CVS)
PDOStatement::bindColumn --
カラムを PHP 変数にバインドする
説明
bool
PDOStatement::bindColumn ( mixed column, mixed ¶m [, int type] )
PDOStatement::bindColumn() は、
クエリからの結果セット中にあるカラムにバインドされた特定の値を
取得するための準備をします。
PDOStatement::fetch() もしくは
PDOStatement::fetchAll()
がコールされる度に、カラムにバインドされた全ての変数は更新されます。
注意:
カラムに関する情報はステートメントが実行されるまで常に
PDO から利用できないため、移植可能なアプリケーションでは
PDO::execute() の 後に
この関数をコールするようにしてください。
パラメータ
- column
結果セット中のカラム番号 (1 から始まる) を指定します。
カラム名を使用する場合、
ドライバによって返されるカラムの大文字小文字が一致する必要が
あることをご承知おきください。
- param
カラムがバインドされる PHP 変数名を指定します。
- type
パラメータのデータ型を PDO::PARAM_* 定数で指定します。
例
例 1. バインドした結果セットは PHP 変数に出力する
PHP 変数にバインドしている結果セットのカラムは、
アプリケーションで利用可能な各行に含まれるデータを作成するための
効果的な方法です。
以下のサンプルは、どうやって PDO
が様々なオプションやを理にかなったデフォルト値を用いて
カラムをバインド、取得するかを例示しています。
<?php function readData($dbh) { $sql = 'SELECT name, colour, calories FROM fruit'; try { $stmt = $dbh->prepare($sql); $stmt->execute();
/* カラム番号によってバインドする */ $stmt->bindColumn(1, $name); $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::fetchColumn() |