PHP マニュアル
前のページ |  | 次のページ

# PDOStatement->bindColumn()

(no version information, might be only in CVS)

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

## 説明

class PDOStatement {
bool bindColumn ( mixed column, mixed &param [, int type] )
}

PDOStatement->bindColumn() は、 クエリからの結果セット中にあるカラムにバインドされた特定の値を 取得するための準備をします。 PDOStatement->fetch() もしくは PDOStatement->fetchAll() がコールされる度に、カラムにバインドされた全ての変数は更新されます。

> 注意: カラムに関する情報はステートメントが実行されるまで常に PDO から利用できないため、移植可能なアプリケーションでは PDOStatement->execute() の 後に この関数をコールするようにしてください。

## パラメータ

`column`

  結果セット中のカラム番号 (1 から始まる) を指定します。 カラム名を使用する場合、 ドライバによって返されるカラムの大文字小文字が一致する必要が あることをご承知おきください。

`param`

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

`type`

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

## 返り値

成功した場合に `TRUE` を、失敗した場合に `FALSE` を返します。

## 例

例 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()

前のページ | ホーム | 次のページ
PDO->setAttribute() | 上に戻る | PDOStatement->bindParam()