(PHP 5 >= 5.1.0, PHP 7, PHP 8, 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.
deyim
Hazırlanıp çalıştırılacak SQL deyimi.
Sorgunun içindeki verinin gerektiğ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 Mantıksal Değerler bölümünde bulunabilir. Bu işlevden dönen değeri sınamak için ===
işleci kullanılabilir.
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));// yanlış
?>
PDO::ATTR_ERRMODE
özniteliğine PDO::ERRMODE_WARNING
atanırsa E_WARNING
düzeyinde bir hata çıktılanır.
PDO::ATTR_ERRMODE
özniteliğine PDO::ERRMODE_EXCEPTION
atanırsa PDOException istisnası oluşur.
Ö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');
$count = $dbh->exec("DELETE FROM fruit");
print "$count satır silindi.\n";
?>
Yukarıdaki örneğin çıktısı:
1 satır silindi.