PDOStatement->bindParam()
PDOStatement->bindParam() — 指定された変数名にパラメータをバインドする
説明
class PDOStatement {bool bindParam ( mixed parameter, mixed &variable [, int data_type [, int length [, mixed driver_options]]] )
} 準備された SQL ステートメント中で、 対応する名前もしくは疑問符プレースホルダにパラメータをバインドします。 PDOStatement->bindValue() と異なり、 変数は参照としてバインドされ、PDOStatement->execute() がコールされたときのみ評価されます。
ほとんどのパラメータは入力パラメータです。つまり、クエリを構築する際、 パラメータは読み込み専用で使用されます。 いくつかのドライバは、出力パラメータとしてデータを返す ストアドプロシージャの実行をサポートしており、 またいくつかのドライバは、データを渡し更新された値を受け取る、 といった入出力パラメータもサポートしています。
パラメータ
- parameter
 - 
        パラメータ ID を指定します。名前付けされたプレースホルダを使った文に
        対しては、:name 形式のパラメータ名となります。
        疑問符プレースホルダを使った文に対しては、1 から始まるパラメータの
        位置となります。
       
 - variable
 - 
        SQL ステートメントパラメータにバインドする PHP 変数名を指定します。
       
 - data_type
 - 
        パラメータに対して PDO::PARAM_* 定数を使った明示的なデータ型を
        指定します。ストアドプロシージャからの INOUT パラメータの場合、
        data_type パラメータに PDO::PARAM_INPUT_OUTPUT
        ビットを設定するためにビット OR を使用してください。
       
 - length
 - 
        データ型の長さを指定します。パラメータがストアドプロシージャからの
        OUT パラメータであることを示す場合、
        明示的に長さを設定しなければなりません。
       
 - driver_options
 - 
         
      
 
返り値
成功した場合に TRUE を、失敗した場合に FALSE を返します。例
例 1665. 名前付けされたプレースホルダを用いてプリペアドステートメントを実行する
<?php
/* バインドされた PHP 変数によってプリペアドステートメントを実行する */
$calories = 150;
$colour = 'red';
$sth = $dbh->prepare('SELECT name, colour, calories
    FROM fruit
    WHERE calories < :calories AND colour = :colour');
$sth->bindParam(':calories', $calories, PDO::PARAM_INT);
$sth->bindParam(':colour', $colour, PDO::PARAM_STR, 12);
$sth->execute();
?>
例 1666. 疑問符プレースホルダを用いてプリペアドステートメントを実行する
<?php
/* バインドされた PHP 変数によってプリペアドステートメントを実行する */
$calories = 150;
$colour = 'red';
$sth = $dbh->prepare('SELECT name, colour, calories
    FROM fruit
    WHERE calories < ? AND colour = ?');
$sth->bindParam(1, $calories, PDO::PARAM_INT);
$sth->bindParam(2, $colour, PDO::PARAM_STR, 12);
$sth->execute();
?>
例 1667. INOUT パラメータを持つストアドプロシージャをコールする
<?php
/* INOUT パラメータを持つストアドプロシージャをコールする */
$colour = 'red';
$sth = $dbh->prepare('CALL puree_fruit(?)');
$sth->bindParam(1, $colour, PDO::PARAM_STR|PDO::PARAM_INPUT_OUTPUT, 12);
$sth->execute();
print("After pureeing fruit, the colour is: $colour");
?>
参考
| PDO->prepare() | 
| PDOStatement->execute() | 
| PDOStatement->bindValue() | 
Weblioに収録されているすべての辞書からPDOStatement->bindParam()を検索する場合は、下記のリンクをクリックしてください。
                     全ての辞書からPDOStatement->bindParam()
                    を検索
                - PDOStatement->bindParam()のページへのリンク