# PDO->exec()

(PHP 5 >= 5.1.0, PECL pdo:0.1-1.0.3)

PDO->exec() — Execute an SQL statement and return the number of affected rows

### Description

PDO
int exec ( string `$statement` )

PDO->exec() executes an SQL statement in a single function call, returning the number of rows affected by the statement.

PDO->exec() does not return results from a SELECT statement. For a SELECT statement that you only need to issue once during your program, consider issuing PDO->query(). For a statement that you need to issue multiple times, prepare a PDOStatement object with PDO->prepare() and issue the statement with PDOStatement->execute().

### Parameters

`statement`

  The SQL statement to prepare and execute.

### Return Values

PDO->exec() returns the number of rows that were modified or deleted by the SQL statement you issued. If no rows were affected, PDO->exec() returns 0.

Warning

This function may return Boolean `FALSE`, but may also return a non-Boolean value which evaluates to `FALSE`, such as 0 or "". Please read the section on Booleans for more information. Use the === operator for testing the return value of this function.

The following example incorrectly relies on the return value of PDO->exec(), wherein a statement that affected 0 rows results in a call to die():

`<?php
$db->exec() or die($db->errorInfo());
?>`

### Examples

Example#1 Issuing a DELETE statement

Count the number of rows deleted by a DELETE statement with no WHERE clause.

`<?php
$dbh = new PDO('odbc:sample', 'db2inst1', 'ibmdb2');
/* Delete all rows from the FRUIT table */
$count = $dbh->exec("DELETE FROM fruit WHERE colour = 'red'");
/* Return number of rows that were deleted */
print("Deleted $count rows.\n");
?>`

The above example will output:

    Deleted 1 rows.

### See Also

- PDO->prepare()
- PDO->query()
- PDOStatement->execute()