PDO ::準備
PDO ::準備 - 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文を実行するための準備(:名)または疑問符パラメータ・マーカーをすると、SQLの実行は、パラメータが置き換えられます(?)。
(?)または疑問符パラメーター・マーカーは、一つだけのスタイルを選択することができます(名前)は、SQL文で指定の両方を含めることはできません。
前処理SQL文のパラメータをPDOStatementを使用している場合:: execute()メソッドは、実際のパラメータを渡します。
パラメータ
声明
有効なSQL文。
driver_options
この配列は、最も一般的にスクロール可能なカーソルを要求するためにPDO :: CURSOR_SCROLLにPDO :: ATTR_CURSOR値に使用され、PDOStatementオブジェクトのプロパティを設定するには、1つ以上のキー=>値のペアが含まれています。
戻り値
成功した場合、PDO ::準備()、それは例外PDOExceptionを失敗したり、スローした場合にPDOStatementオブジェクトはFALSEを返し返します。
例
SQLステートメントを準備するためのパラメータ:(名)という名前を使用します
<?php /* 通过数组值向预处理语句传递值 */ $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 /* 通过数组值向预处理语句传递值 */ $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(); ?>