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

# PDOStatement->execute()

(no version information, might be only in CVS)

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

## 説明

class PDOStatement {
bool 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()