PDOStatement::bindParam
    (no version information, might be only in CVS)
PDOStatement::bindParam -- 
     指定された変数名にパラメータをバインドする
    
説明
bool 
PDOStatement::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 を使用してください。
         
          入力パラメータとして NULL 値が渡す場合、PDO::PARAM_NULL
          定数を使用してください。
         
- length
 
          データ型の長さを指定します。パラメータがストアドプロシージャからの
          OUT パラメータであることを示す場合、
          明示的に長さを設定しなければなりません。
         
- driver_options
 
        
 
    例
例 1. 名前付けされたプレースホルダを用いてプリペアドステートメントを実行する 
<?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(); ?>
 |  
  | 
例 2. 
    疑問符プレースホルダを用いてプリペアドステートメントを実行する 
<?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(); ?>
 |  
  | 
例 3. 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() |