DB2 Version 9 for Linux, UNIX, and Windows

PDO::prepare PDO メソッド - 実行用のステートメントを準備してステートメント・オブジェクトを戻す

構文

PDOStatement PDO::prepare(string statement, [array driver_options])

説明

PDOStatement::execute() メソッドが実行する SQL ステートメントを準備します。この SQL ステートメントには、ステートメントの実行時に実際の値に置換する 0 個以上の名前付き (:name) パラメーター・マーカー、または疑問符 (?) パラメーター・マーカーを含めることができます。同じ SQL ステートメント内で名前付きパラメーター・マーカーと疑問符パラメーター・マーカーの両方を同時に使用することはできないので、いずれかのパラメーター・スタイルを選んでください。

異なるパラメーター値を用いて複数回発行されるステートメントは、PDO::prepare() および PDOStatement::execute() を用いて実行することによりそのパフォーマンスを改善できます。クライアントまたはサーバー側(あるいはその両方)でキャッシュされた照会プランおよびメタ情報を利用できるからです。また、手動でパラメーターを引用する必要がなくなるので SQL インジェクション・アタックを回避するのにも役立ちます。

PDO は、名前付きパラメーターを疑問符パラメーターに書き直すことにより、DB2 用 PDO_ODBC ドライバー で名前付きパラメーター・マーカーをサポートします。

パラメーター

statement

これは、ターゲット・データベース管理システムに有効な SQL ステートメントでなければなりません。

driver_options

この連想配列は、このメソッドが戻す PDOStatement オブジェクトの属性値を設定します。通常、PDO::ATTR_CURSOR 値を PDO::CURSOR_SCROLL に設定して、両方向スクロール・カーソルを要求するために使用します。

戻り値

データベース管理システムがステートメントの準備に成功すると、PDO::prepare() は PDOStatement オブジェクトを戻します。

名前付きパラメーターを使用した SQL ステートメントを準備する
<?php
/* Execute a prepared statement by passing an array of values */
$sql = 'SELECT name, colour, calories
    FROM fruit
    WHERE calories < :calories AND colour = :colour';
$sth = $dbh->prepare($sql, array(PDO::ATTR_CURSOR, PDO::CURSOR_FWDONLY));
$sth->execute(array(':calories' => 150, ':colour' => 'red'));
$red = $sth->fetchAll();
$sth->execute(array(':calories' => 175, ':colour' => 'yellow'));
$yellow = $sth->fetchAll();
?>
疑問符パラメーターを使用した SQL ステートメントを準備する
<?php
/* Execute a prepared statement by passing an array of values */
$sth = $dbh->prepare('SELECT name, colour, calories
    FROM fruit
    WHERE calories < ? AND colour = ?');
$sth->execute(array(150, 'red'));
$red = $sth->fetchAll();
$sth->execute(array(175, 'yellow'));
$yellow = $sth->fetchAll();
?>

リファレンス・トピック                     このトピックは次の資料に含まれています: PDF アイコン Perl および PHP アプリケーションの開発

フィードバック

最終更新 2006-10-27

http://publib.boulder.ibm.com/infocenter/db2luw/v9/topic/com.ibm.db2.udb.apdv.php.doc/doc/r0022472.htm