PDOStatement :: bindParam
PDOStatement :: bindParam - 指定された変数名(PHP 5> = 5.1.0、PECLのpdo> = 0.1.0)にパラメータをバインドします
説明
文法
bool PDOStatement::bindParam ( mixed $parameter , mixed &$variable [, int $data_type = PDO::PARAM_STR [, int $length [, mixed $driver_options ]]] )
名前もしくは疑問符プレースホルダプレースホルダ対応する前処理として、SQL文にPHP変数をバインドします。 PDOStatement :: bindValue()とは異なり、この変数は参照としてバインドされ、かつ唯一のいずれかの値に呼び出される()はPDOStatementで実行::。
パラメータの大部分は、すなわち、クエリ読み取り専用モードを構築するために使用されるパラメータの入力パラメータです。 一部のドライバは、ストアドプロシージャを呼び出し、出力パラメータとしてデータを返す、入力/出力パラメータのようないくつかのサポート、両方の更新後にデータを送信および受信をサポートします。
パラメータ
パラメーター
パラメータ識別子。 使用という名前のプレースホルダのために準備されたステートメントは、次のようになりますフォームパラメータの名前です。 準備されたステートメントでの疑問符プレースホルダの場合は、1-インデックス付きのパラメータに基づいている必要があります。
変数
SQL文のパラメータのPHP変数名にバインドされました。
DATA_TYPE
明示的にパラメータの種類を指定するには、PDO :: PARAM_ *定数を使用します。 ストアドプロシージャは、INOUTパラメータを返すから、PDO :: PARAM_INPUT_OUTPUTはDATA_TYPEパラメータをビットに設定するビット単位のOR演算子を使用する必要があります。
長さ
事前に割り当てられたヒント。
DriverDataと
長さのデータ・タイプ。 パラメータは、ストアドプロシージャのOUTパラメータであることを示すためには、明示的にこの長さを設定する必要があります。
driver_options
戻り値
TRUE、失敗した場合に正常に戻っはFALSEを返します。
例
プリペアドステートメントを使用して、エグゼクティブの名前のプレースホルダ
<?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(); ?>
準備されたステートメントでの疑問符プレースホルダの実装
<?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(); ?>
ストアド・プロシージャ・コールを使用して、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"); ?>