PDO->exec()
PDO->exec() — SQL ステートメントを実行し、作用した行数を返す
説明
class PDO {int exec ( string statement )
} PDO->exec() は、一度の関数コールで SQL 文を実行し、文によって作用した行数を返します。
PDO->exec() は SELECT 文からは結果を返しません。 プログラム中で一度だけ発行が必要になる SELECT 文に対しては、 PDO->query() の発行を検討してください。 複数回発行が必要な文については、PDO->prepare() による PDOStatement オブジェクトの準備と PDOStatement->execute() による文の発行を行ってください。
パラメータ
- statement
-
準備、実行する SQL ステートメントを指定します。
返り値
PDO->exec() は、発行した SQL ステートメントによって更新もしくは 削除された行数を返します。 1 行も作用しなかった場合、PDO->exec() は 0 を返します。警告 |
この関数は論理値
FALSE を返す可能性がありますが、FALSE として評価される
0 や "" といった値を返す可能性もあります。
詳細については 論理値の
セクションを参照してください。この関数の返り値を調べるには
===演算子 を
使用してください。 |
以下の例は PDO->exec() の戻り値の使用法を間違っています。結果として一行も更新されなかった場合に die() がコールされてしまうからです。
<?php
$db->exec() or die($db->errorInfo());
?>
例
例 1654. DELETE 文の発行WHERE 句を伴う DELETE 文によって削除された行数をカウントします。
<?php
$dbh = new PDO('odbc:sample', 'db2inst1', 'ibmdb2');
/* FRUIT テーブルから全ての行を削除する */
$count = $dbh->exec("DELETE FROM fruit WHERE colour = 'red'");
/* 削除された行数を返す */
print("Deleted $count rows.\n");
?>
上の例の出力は以下となります。Deleted 1 rows.
参考
PDO->prepare() |
PDO->query() |
PDOStatement->execute() |
Weblioに収録されているすべての辞書からPDO->exec()を検索する場合は、下記のリンクをクリックしてください。

- PDO->exec()のページへのリンク