PDO::exec

Führt ein SQL Statement aus und gibt die Zahl der betroffenen Zeilen zurück

Beschreibung

public int PDO::exec ( string $statement )

PDO::exec führt ein SQL Statement aus und gibt die Anzahl der betroffenen Zeilen zurück.

PDO::exec gibt nicht die Ergebnisse eines SELECT Statements zurück. Um diese zu erhalten kann entweder PDO::query genutzt werden, oder ein ein PDOStatement, welches über PDO::prepare erstellt und über PDOStatement::execute ausgeführt wird.

Parameter-Liste

statement

Das SQL Statement, welches ausgeführt werden soll.

Alle Usereingaben in diesem Query müssen maskiert werden.

Rückgabewerte

PDO::exec gibt die Anzahl von Zeilen zurück, welche durch diese Abfrage geändert oder gelöscht wurden. Wenn keine Zeilen geändert wurden, gibt PDO::exec 0 zurück.

Warnung

Diese Funktion kann sowohl das boolsche FALSE zurückliefern, als auch einen nicht-boolschen Wert, welcher zu 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.

Das folgende Beispiel verlässt sich fälschlicherweise auf den Rückgabewert von PDO::exec, weswegen ein Statement, welches 0 Zeilen ändert, einen Aufruf von die nach sich zieht:

<?php
$db
->exec() or die(print_r($db->errorInfo(), true));
?>

Beispiele

Beispiel #1 Ein DELETE Statement ausführen

Führt das DELETE Statement aus und gibt die Anzahl der gelöschten Zeilen aus.

<?php
$dbh 
= new PDO('odbc:sample''db2inst1''ibmdb2');

/* Entferne alle roten Früchte aus der Tabelle */
$count $dbh->exec("DELETE FROM fruit WHERE colour = 'red'");

/* Und gebe die Anzahl an gelöschten Zeilen zurück */
echo "$count Zeilen wurden gelöscht.\n";
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

10 Zeilen wurden gelöscht.

Siehe auch

  • PDO::prepare
  • PDO::query
  • PDOStatement::execute