PDO::exec — Executa uma instrução SQL e retorna o número de linhas afetadas (PHP 5 >= 5.1.0, PECL pdo >= 0.1.0)
int PDO::exec (string $instrução)
PDO::exec() executa uma instrução SQL em uma única chamada de função, retornando o número de linhas afetadas pela instrução.
PDO::exec() não retorna resultados de uma instrução SELECT. Para instruções SELECT que precisam ser emitidas apenas uma vez no programa, considere usar PDO::query().
instrução : a instrução SQL a ser preparada e executada.
PDO::exec() Retorna o número de linhas afetadas por uma instrução SQL de modificação ou exclusão. Se não houver linhas afetadas, PDO::exec() retornará 0.
O exemplo a seguir depende incorretamente do valor de retorno de PDO::exec(), onde uma instrução com 0 linhas afetadas faria com que die() fosse chamado:
<?php$db->exec() ou die(print_r($db->errorInfo(), true));?>
Conta o número de linhas excluídas por uma instrução DELETE sem uma cláusula WHERE.
<?php$dbh = new PDO('odbc:sample', 'db2inst1', 'ibmdb2');/* Exclua todas as linhas que atendem às condições na tabela de dados FRUIT */$count = $dbh->exec(" DELETE FROM fruta WHERE color = 'red'");/* Retorna o número de linhas excluídas*/print("$count linhas excluídas.n");?>
A rotina acima produzirá:
Excluiu 1 linha.