PDO::exec — Exécute une instruction SQL et renvoie le nombre de lignes affectées (PHP 5 >= 5.1.0, PECL pdo >= 0.1.0)
int PDO::exec ( chaîne $instruction )
PDO::exec() exécute une instruction SQL en un seul appel de fonction, renvoyant le nombre de lignes affectées par l'instruction.
PDO::exec() ne renvoie pas les résultats d'une instruction SELECT. Pour les instructions SELECT qui ne doivent être émises qu'une seule fois dans le programme, envisagez d'utiliser PDO::query().
instruction : L'instruction SQL à préparer et à exécuter.
PDO::exec() Renvoie le nombre de lignes affectées par une instruction SQL de modification ou de suppression. S'il n'y a aucune ligne affectée, PDO::exec() renvoie 0.
L'exemple suivant s'appuie incorrectement sur la valeur de retour de PDO::exec(), où une instruction avec 0 lignes affectées entraînerait l'appel de die() :
<?php$db->exec() ou die(print_r($db->errorInfo(), true));?>
Compte le nombre de lignes supprimées par une instruction DELETE sans clause WHERE.
<?php$dbh = new PDO('odbc:sample', 'db2inst1', 'ibmdb2');/* Supprimez toutes les lignes qui remplissent les conditions dans la table de données FRUIT */$count = $dbh->exec(" DELETE FROM fruit WHERE color = 'red'");/* Renvoie le nombre de lignes supprimées*/print("Deleted $count rows.n");?>
La routine ci-dessus affichera :
1 lignes supprimées.