PDO::exec — SQL ステートメントを実行し、影響を受ける行の数を返します (PHP 5 >= 5.1.0、PECL pdo >= 0.1.0)
int PDO::exec ( string $statement )
PDO::exec() は、単一の関数呼び出しで SQL ステートメントを実行し、ステートメントの影響を受ける行数を返します。
PDO::exec() は SELECT ステートメントからの結果を返しません。プログラム内で 1 回だけ発行する必要がある SELECT ステートメントの場合は、PDO::query() の使用を検討してください。
ステートメント: 準備および実行される SQL ステートメント。
PDO::exec() SQL ステートメントの変更または削除によって影響を受ける行数を返します。影響を受ける行がない場合、PDO::exec() は 0 を返します。
次の例は、PDO::exec() の戻り値に誤って依存しており、影響を受ける行が 0 個のステートメントによって die() が呼び出されます。
<?php$db->exec() または die(print_r($db->errorInfo(), true));?>
WHERE 句のない DELETE ステートメントによって削除された行の数をカウントします。
<?php$dbh = new PDO('odbc:sample', 'db2inst1', 'ibmdb2');/* FRUIT データテーブル内の条件を満たすすべての行を削除します */$count = $dbh->exec(" DELETE FROM Fruit WHERE color = 'red'");/* 削除された行数を返します*/print("Deleted $count rows.n");?>
上記のルーチンは次を出力します。
1行削除しました。