PDOStatement::bindColumn
(no version information, might be only in CVS)
PDOStatement::bindColumn --
カラムを PHP 変数にバインドする
説明
bool
PDOStatement::bindColumn ( mixed column, mixed ¶m [, 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() |