PHP マニュアル
前のページ |  | 次のページ

# PDOStatement::execute

(no version information, might be only in CVS)

PDOStatement::execute -- プリペアドステートメントを実行する

## 説明

bool PDOStatement::execute ( [array input_parameters] )

プリペアドステートメントを実行します。もし、プリペアドステートメントが パラメータマーカを含む場合、次のいずれかを行わなければなりません。

- パラメータマーカに PHP 変数をバインドするため PDOStatement::bindParam() をコールする。 関連づけされたパラメータマーカがあれば、バインドされた変数は入力値を渡す もしくは出力値を受け取ります。

- あるいは、入力専用のパラメータ値の配列を渡す

## パラメータ

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()

前のページ | ホーム | 次のページ
PDOStatement::errorInfo | 上に戻る | PDOStatement::fetch