PDO::prepare — SQL ステートメントの実行を準備し、PDOStatement オブジェクトを返します (PHP 5 >= 5.1.0、PECL pdo >= 0.1.0)
public PDOStatement PDO::prepare ( string $statement [, array $driver_options = array() ] )
PDOStatement::execute() メソッドに対して実行する SQL ステートメントを準備します。SQL ステートメントには、0 個以上の名前付き (:name) または疑問符 (?) パラメーター マーカーを含めることができます。パラメーターは、SQL の実行時に置き換えられます。
SQL ステートメントに名前付きパラメーター マーカー (:name) と疑問符 (?) の両方を含めることはできません。これらのスタイルのいずれか 1 つだけを選択できます。
PDOStatement::execute() メソッドを使用する場合、準備された SQL ステートメント内のパラメーターは実際のパラメーターを渡します。
ステートメントは正当な SQL ステートメントです。
driver_optionsこの配列には、PDOStatement オブジェクトのプロパティを設定するための 1 つ以上の key=>value ペアが含まれています。最も一般的な使用法は、PDO::ATTR_CURSOR 値を PDO::CURSOR_SCROLL に設定して、スクロール可能なカーソルを要求することです。
成功した場合、PDO::prepare() は PDOStatement オブジェクトを返します。失敗した場合は、FALSE を返すか、PDOException をスローします。
<?php/* 配列値を介してプリペアドステートメントに値を渡す*/$sql = 'SELECT 名前、色、カロリー FROM フルーツ WHERE カロリー < :カロリー AND color = :colour';$sth = $dbh->prepare( $ sql, array(PDO::ATTR_CURSOR => PDO::CURSOR_FWDONLY));$sth->execute(array(':カロリー' => 150, ':colour' => 'red'));$red = $sth->fetchAll();$sth->execute(array(':カロリー' => 175, ':colour' => ' yellow' ));$ yellow = $sth->fetchAll();?>
<?php/* 配列値を介して準備されたステートメントに値を渡す*/$sth = $dbh->prepare('SELECT 名前、色、カロリー FROM フルーツ WHERE カロリー < ? AND color = ?');$sth->実行 (array(150, 'red'));$red = $sth->fetchAll();$sth->execute(array(175, ' yellow'));$ yellow = $sth->fetchAll();?>