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));?>
計算一條不帶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.