Merhaba;
Bu yazımda Php ile Mysql sorgularına nasıl Transaction uygularız onu anlatacağım.
İlk olarak Transaction nedir onu bilelim:
Örnek vermek gerekir ise örneğin art arda Mysql veritabanına kayıt eklediğiniz bir kod yapınız var.Eğer bu kayıt işlemlerinden 1 tanesi bile hata ile sonuçlanırsa diğerleri kayıt edilmiş olacak ve bu durumda aralarında ilişki varsa sistem hata verecektir işte tam bu noktada Transaction özelliği devreye giriyor. Olurda Mysql veritabanı işlemlerinizden biri olumsuz sonuçlanırsa yapılan tüm işlemleri geri almanıza olanak sağlıyor.Şimdi kod yapımıza geçelim:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
<?php //Mysql bağlantımızı açıyoruz mysql_connect("localhost", "root", ""); mysql_select_db("vt"); //Sql bağlantımızı koşullu olarak başlatıyoruz. mysql_query("BEGIN"); //Sql sorgularımızı yazıyoruz $Sorgu1 = mysql_query("insert into Tablo1 values ('', '1')"); $Sorgu2 = mysql_query("insert into Tablo2 values ('', '2')"); // Sql sorgularımızın ikiside düzgün çalışıyormu kontrol ediyoruz if(!$Sorgu1 or !$Sorgu2 ) { //Eğer hata oluşursa işlemleri geri al diyoruz. mysql_query("ROLLBACK"); } else { //Eğer hata yoksa işlem tamamlanıyor. //Eğer bu kodu kullanmazsanız sql bağlantımızı koşullu başlanttığımız için sorgu sonlandırılmaz. mysql_query("COMMIT"); } ?> |