8 Mayıs 2017 Pazartesi

php pdo sorguları geri alma

Posted by Awvare on 07:55 in | No comments


PDO’nun bir diğer önemli özelliği ise transaction denilen ifade edilen sorguları istenildiğinde geri alabilme ya da uygulayabilmesidir.
Yukarıdaki sorgu ifadelerini kullanmadan önce beginTransaction metodunu çağırarak geri alma işlemi yapabileceğimiz sorguları yazmaya başladığımızı ifade etmemiz gerekiyor.
BeginTransaction metodunu çalıştırdıktan sonra yazacağımız tüm ekleme, düzenleme ve silme sorguları normal kullandığımız şekilde çalışmaya devam eder. Eğer sorgular devam ederken tüm bu aralıktaki sorguları geri almak istersek rollBack metodunu çağırırız. Bu metodu çalıştırdığımızda beginTransaction’dan rollBack metoduna kadar yazdığımız tüm ekleme, düzenleme ve silme sorguları geri alınır.
Bu ifadeleri kullanırken bilmeniz gereken önemli bir konu; DROP TABLE ya da CREATE TABLE gibi tabloları komple silen ya da yeni tablolar ekleyen sorgular geri alınamaz. Fakat DELETE sorgusu ile sildiğiniz ya da UPDATE ile düzenlediğiniz her sorguyu geri alabilirsiniz.


/*
// İşlemleri başlattığımızı ifade ediyoruz
$db->beginTransaction();
$db->exec('INSERT INTO users (name) VALUES ("Ahmet")');
$db->exec('UPDATE users SET name = "Ali"');
$db->exec('DELETE FROM users WHERE name = "Hasan"');
// Yaptığımız sorguları geri aldık
$db->rollBack();
*/

Yaptığımız sorguları geri almak yerine başarıyla sonuçlandığında gerçekten uygulamak istiyorsak commit metodunu çağırırız.

0 yorum:

Yorum Gönder