array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'it', ), 'this' => array ( 0 => 'pdo.exec.php', 1 => 'PDO::exec', 2 => 'Execute an SQL statement and return the number of affected rows', ), 'up' => array ( 0 => 'class.pdo.php', 1 => 'PDO', ), 'prev' => array ( 0 => 'pdo.errorinfo.php', 1 => 'PDO::errorInfo', ), 'next' => array ( 0 => 'pdo.getattribute.php', 1 => 'PDO::getAttribute', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'en', 'path' => 'reference/pdo/pdo/exec.xml', ), 'history' => array ( ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); contributors($setup); ?>

PDO::exec

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

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

Descrizione

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

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

Elenco dei parametri

statement

The SQL statement to prepare and execute.

Data inside the query should be properly escaped.

Valori restituiti

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.

Avviso

Questa funzione può restituire il Booleano false, ma può anche restituire un valore non-Booleano valutato come false. Fare riferimento alla sezione Booleans per maggiori informazioni. Usare l'operatore === per controllare il valore restituito da questa funzione.

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
?>

Errori/Eccezioni

Emits an error with level E_WARNING if the attribute PDO::ATTR_ERRMODE is set to PDO::ERRMODE_WARNING.

Throws a PDOException if the attribute PDO::ATTR_ERRMODE is set to PDO::ERRMODE_EXCEPTION.

Esempi

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

Il precedente esempio visualizzerà:

Deleted 1 rows.

Vedere anche: