(PHP 5 >= 5.1.0, PECL pdo >= 0.1.0)
PDO::exec — Belirtilen SQL deyimini çalıştırır ve etkilenen satır sayısını döndürür
PDO::exec() belirtilen SQL deyimini tek bir işlev çağrısıyla çalıştırır ve deyimden etkilenen satırların sayısını döndürür.
PDO::exec() yöntemi bir SELECT deyiminin sonucunu döndürmez. Bir SELECT deyimini uygulamanız boyunca sadece bir defa çalıştıracaksanız PDO::query() yöntemini kullanabilirsiniz. Defalarca çalıştıracaksanız PDO::prepare() ile bir PDOStatement nesnesi hazırlayıp bunu PDOStatement::execute() ile çalıştırabilirsiniz.
Hazırlanıp çalıştırılacak SQL deyimi.
Sorgunun içindeki verinin geretiği gibi öncelenmesi gerekir.
PDO::exec() işlevi çalıştırılan SQL deyimiyle silinen veya değiştirilen satırların sayısını döndürür. Etkilenen satır yoksa PDO::exec() 0 döndürür.
Bu işlev mantıksal FALSE değeriyle dönebileceği gibi FALSE olarak değerlendirilebilecek mantıksal olmayan bir değerle de dönebilir (örneğin, 0 veya ""). Bu konuda daha fazla bilgi edinmek için Mantıksal Değerler bölümüne bakabilirsiniz. Bu işlevden dönen değeri sınamak için === işlecini kullanınız.
Aşağıda, dönüş değerinin yanlış ele alındığı bir örneğe yer verilmiştir. Etkilenen satır sayısı 0 olduğu halde die() işlevi çağrılmaktadır:
<?php
$db->exec() or die(print_r($db->errorInfo(), true));
?>
Örnek 1 - Bir DELETE deyiminin çalıştırılması
Bir DELETE deyimiyle silinen satır sayısının öğrenilmesi.
<?php
$dbh = new PDO('odbc:sample', 'db2inst1', 'ibmdb2');
/* FRUIT tablosundaki tüm satırları silelim */
$count = $dbh->exec("DELETE FROM fruit WHERE colour = 'red'");
/* Silinen satır sayısını döndürelim */
print("$count satır silindi.\n");
?>
Yukarıdaki örneğin çıktısı:
1 satır silindi.