PDO::exec

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

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

Descrierea

public PDO::exec ( string $statement ) : int

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().

Parametri

statement

The SQL statement to prepare and execute.

Data inside the query should be properly escaped.

Valorile întoarse

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.

Avertizare

Această funcție poate întoarce valoarea Boolean FALSE, dar poate de asemenea întoarce o valoare non-Boolean care evaluează în FALSE. Vă rugăm să citiți secțiunea despre tipul Boolean pentru informații suplimentare. Utilizați operatorul === pentru a verifica valoarea întoarsă de această funcție.

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(print_r($db->errorInfo(), true)); // incorrect
?>

Exemple

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");

/* Return number of rows that were deleted */
print("Deleted $count rows.\n");
?>

Exemplul de mai sus va afișa:

Deleted 1 rows.

A se vedea și