(PHP 5 >= 5.1.0, PHP 7, PHP 8, PECL pdo >= 0.1.0)
PDO::exec — Ejecuta una consulta SQL y devuelve el número de filas afectadas
PDO::exec() ejecuta una consulta SQL en una sola llamada de función, devuelve el número de filas afectadas por la consulta.
PDO::exec() no devuelve resultados para una consulta SELECT. Para una consulta SELECT que se necesite una sola vez en el programa, utilice en su lugar la función PDO::query(). Para una consulta que se necesite varias veces, prepare un objeto PDOStatement con la función PDO::prepare() y ejecute la consulta con la función PDOStatement::execute().
statementLa consulta a preparar y ejecutar.
Los datos contenidos en la consulta deben ser properamente escapados.
PDO::exec() devuelve el número de filas que han sido modificadas
o eliminadas por la consulta SQL ejecutada. Si ninguna fila es afectada,
la función PDO::exec() devolverá 0.
Esta función puede retornar false, pero también puede retornar un valor equivalente a false.
Por favor, lea la sección sobre los booleanos para más información.
Utilice el operador ===
para probar el valor de retorno exacto de esta función.
El siguiente ejemplo se basa incorrectamente en el valor devuelto por PDO::exec(), donde una consulta que no afecta ninguna fila equivale a llamar a die():
<?php
$db->exec() or die(print_r($db->errorInfo(), true)); // incorrecto
?>
Emite un error de nivel E_WARNING si el atributo PDO::ATTR_ERRMODE está definido
a PDO::ERRMODE_WARNING.
Lanza una excepción PDOException si el atributo PDO::ATTR_ERRMODE está definido
a PDO::ERRMODE_EXCEPTION.
Ejemplo #1 Ejecutar una consulta DELETE
Cuenta el número de filas eliminadas para una consulta DELETE con ninguna cláusula WHERE.
<?php
$dbh = new PDO('odbc:sample', 'db2inst1', 'ibmdb2');
/* Eliminación de todas las filas de la tabla FRUIT */
$count = $dbh->exec("DELETE FROM fruit");
/* Devuelve el número de filas eliminadas */
print "Eliminación de $count filas.\n";
?>El ejemplo anterior mostrará :
Eliminación de 1 filas.