PHP Portal » PHP Handbuch » PDO::exec

Werbung

PDO::exec


(PHP 5 >= 5.1.0, PECL pdo >= 0.1.0)

PDO::exec Execute an SQL statement and return the number of affected rows

Beschreibung

int PDO::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().

Parameter-Liste

statement

The SQL statement to prepare and execute.

Data inside the query should be properly escaped.

Rückgabewerte

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.

Warnung

Diese Funktion kann sowohl das boolsche FALSE zurückliefern, als auch einen nicht-boolschen Wert, wie zum Beispiel 0 oder "", der von einem einfachen if-Statement als FALSE ausgewertet wird. Weitere Informationen entnehmen Sie bitte dem Abschnitt über die boolschen Typen. Benutzen Sie deshalb den === Operator, um den Rückgabewert dieser Funktion zu überprüfen.

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 Code
1
$db->exec() or die(print_r($db->errorInfo(), true));

Beispiele

Beispiel #1 Issuing a DELETE statement

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

PHP Code
1
2
3
4
5
$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");

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Deleted 1 rows.

Siehe auch