'u çalıştırmayın. Android
uygulamasına bağlanan bu PHP Service
var ve bir kerede 2 sorgu çalıştırıyor. Birinin başarısız olup olmadığını nasıl algılayacağımı okudum ve birimin başarısız olduğunu biliyorum çünkü EventSlots zaten 0 ve bir INT unsigned
. Bununla birlikte, diğer ifade başarılıdır ve yürütülür. Açıkçası, sadece ikisini birden çalıştırmak istiyorum, ve 1 başarısız olursa, don't execute anything at all
ancak Uygulamam için bir hata döndürürüm.PHP PDO - Çoklu İfadeler - 1 başarısız olursa, diğer
İfadelerden birisinin başarısız olup olmadığını ve STOP the other
'un çalışıp çalışmadığını nasıl anlarım? Muhtemelen birden çok deyim kullanmaktan kaçınabilir ve 1 yapıp, tamam olup olmadığını kontrol edebilir ve yalnızca diğerini yürütürüm. Bunu birden çok ifadeyle yapabilir miyim?
Sorgu:
"INSERT INTO GuestList(EventID, AccountID) VALUES (7, (SELECT AccountID FROM Accounts WHERE Username = 'test'));
UPDATE Events SET EventSlots = EventSlots-1 WHERE EventID = 7 ;"
Bir işlem kullanın http://php.net/manual/en/pdo.begintransaction.php – JimL
_why_ ilk ifadenin başarısız olduğunu biliyorsanız (yazdığınız gibi), neden bir şey yürütmek zorundasınız? Bunu yapmak için _prior_ olduğunu biliyorsunuz, çünkü tüm bilgileriniz var. – arkascha
Teşekkürler @JimL Bunları bilmiyordum bile. Çok yararlı görünüyor, şimdi bunları deneyeceğim. Ve arkascha, bunu biliyorum çünkü o belirli Kullanım Vakasını test ediyorum. Bir kullanıcı zaten mevcut 0 yuvaya sahip bir olaya katılmaya çalıştığında (benim bunu bilmez) uygulamasında bir işleyiciyi uygulamak için EventSlots'u 0'a ayarlıyorum. – iBobb