PDOStatement->errorInfo
PDOStatement->fetch
PDOStatement
PHP Manual

# PDOStatement->execute

(PHP 5 >= 5.1.0, PECL pdo >= 0.1.0)

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

### 説明

bool PDOStatement::execute ([ array `$input_parameters` = array() ] )

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

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

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

### パラメータ

`input_parameters`

  実行される SQL 文の中のバインドパラメータと同数の要素からなる、 値の配列。すべての値は `PDO::PARAM_STR` として扱われます。

  ひとつのパラメータに対して複数の値をバインドすることはできません。 例えば、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
PDOStatement
PHP Manual