関数・クラス解説

PDOStatement::bindColumn

version:PHP 5 >= 5.1.0, PHP 7, PECL pdo (公式)

カラムを PHP 変数にバインドする

公式リファレンス

書式

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

説明

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

注意:

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

しかし、LOB カラムをストリームにバインドする際に PgSQL ドライバ を使用するときには、 このメソッドを PDOStatement::execute() の 前に コールしなければなりません。 そうしないと、ラージオブジェクトの OID が integer で返されます。

パラメータ

column
結果セット中のカラム番号 (1 から始まる) を指定します。 カラム名を使用する場合、 ドライバによって返されるカラムの大文字小文字が一致する必要が あることをご承知おきください。
param
カラムがバインドされる PHP 変数名を指定します。
type
パラメータのデータ型を PDO::PARAM_* 定数 で指定します。
maxlen
領域を事前に確保するためのヒント。
driverdata
ドライバのオプションパラメータ。

返値

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

サンプル

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

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

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() - 結果セットの次行から単一カラムを返す
  • ワード検索


    ※入力キーワードが、関数名・説明文・タグに含まれるものを検索

    関数名アルファベット別

    A B C D E F G H I J
    K L M N O P Q R S T
    U V W X Y Z _

    最終更新一覧

    stristr
     大文字小文字を区別せず文字列を検索し、ヒット箇所以降(あるいは以前)の文字列を返却

    stripslashes
     バックスラッシュでエスケープされた文字列から、バックスラッシュを取り除く

    stripos
     大文字小文字を区別せずに文字列が最初に現れる位置を取得する

    stripcslashes
     addcslashes() でクォートされた文字列をアンクォートする

    strip_tags
     文字列から HTML と PHP のタグを除去して返却

    strcspn
     指定した文字が最初に現れる位置を調べる

    strcoll
     ロケールに基づいて2つの文字列を比較し同じか(あるいは大小)を判定する

    strcmp
     2つの文字列を比較し同じか(あるいは大小)を判定する

    strchr
     strstr() のエイリアス

    strcasecmp
     2つの文字列を比較(大文字小文字を区別せず同じとみなす)

    カテゴリー一覧

    PHP の振る舞いの変更
    音声フォーマットの操作
    認証サービス
    コマンドライン関連
    圧縮およびアーカイブ
    暗号
    データベース関連
    日付および時刻関連
    ファイルシステム
    自然言語および文字エンコーディング
    画像処理および作成
    メール関連
    数学
    テキスト以外の MIME 型
    プロセス制御
    その他の基本モジュール
    その他のサービス
    検索エンジン用の拡張モジュール
    サーバー固有のモジュール
    セッション関連
    テキスト処理
    変数・データ型関連
    ウェブサービス
    Windows 用のモジュール
    XML 操作
    GUI用の拡張モジュール