PDOStatement::execute
(no version information, might be only in CVS)
PDOStatement::execute --
プリペアドステートメントを実行する
説明
bool
PDOStatement::execute ( [array input_parameters] )
プリペアドステートメントを実行します。もし、プリペアドステートメントが
パラメータマーカを含む場合、次のいずれかを行わなければなりません。
パラメータ
- input-parameters
実行される SQL 文の中のバインドパラメータと同数の要素からなる、
値の配列。
ひとつのパラメータに対して複数の値をバインドすることはできません。
例えば、IN() 句の中のひとつのパラメータに対して
2 つの値をバインドすることはできません。
返り値
成功した場合に TRUE を、失敗した場合に FALSE を返します。
例
例 1. バインド変数を伴うプリペアドステートメントの実行
<?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 /* 入力値の配列を伴うプリペアドステートメントの実行 */ $calories = 150; $colour = 'red'; $sth = $dbh->prepare('SELECT name, colour, calories FROM fruit WHERE calories < :calories AND colour = :colour'); $sth->execute(array(':calories' => $calories, ':colour' => $colour)); ?>
|
|
例 3. 入力値の配列を伴うプリペアドステートメントの実行 (プレースホルダ)
<?php /* 入力値の配列を伴うプリペアドステートメントの実行 */ $calories = 150; $colour = 'red'; $sth = $dbh->prepare('SELECT name, colour, calories FROM fruit WHERE calories < ? AND colour = ?'); $sth->execute(array($calories, $colour)); ?>
|
|
例 4. 疑問符プレースホルダを伴うプリペアドステートメントの実行
<?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(); ?>
|
|
参考
PDO::prepare() |
PDOStatement::bindParam() |
PDOStatement::fetch() |
PDOStatement::fetchAll() |
PDOStatement::fetchColumn() |