PDO::exec
PDO::exec — 執行一條 SQL 語句,並返回受影響的行數(PHP 5 >= 5.1.0, PECL pdo >= 0.1.0)
說明
語法
int PDO::exec ( string $statement )
PDO::exec() 在一個單獨的函數調用中執行一條 SQL 語句,返回受此語句影響的行數。
PDO::exec() 不會從一條 SELECT 語句中返回結果。對於在程式中只需要發出一次的 SELECT 語句,可以考慮使用 PDO::query()。
參數說明:
statement: 要被預處理和執行的 SQL 語句。
返回值
PDO::exec() 返回受修改或刪除 SQL 語句影響的行數。如果沒有受影響的行,則 PDO::exec() 返回 0。
下麵例子依賴 PDO::exec() 的返回值是不正確的,其中受影響行數為 0 的語句會導致調用 die() :
<?php $db->exec() or die(print_r($db->errorInfo(), true)); ?>
實例
執行一條 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.