(PHP 5 >= 5.1.0, PHP 7, 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
$deyim
) : intPDO::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.
deyim
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. 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.