所以我有PHP Service
这个连接到我的Android
应用程序,它一次执行2个查询。我已经阅读了如何检测一个是否失败,我知道我的一个失败,因为EventSlots已经是0并且是INT unsigned
。
但是,其他声明成功并被执行。显然,我想只执行两者,如果1失败,don't execute anything at all
但是为我的应用程序返回错误。
我如何检测其中一个语句是否失败并且STOP the other
是否正在执行?我可能可以避免使用多个语句并执行1,检查它是否正常,然后才执行另一个。我可以用多个语句来实现吗?
查询:
"INSERT INTO GuestList(EventID, AccountID) VALUES (7, (SELECT AccountID FROM Accounts WHERE Username = 'test'));
UPDATE Events SET EventSlots = EventSlots-1 WHERE EventID = 7 ;"
答案 0 :(得分:1)
使用PDO交易http://php.net/manual/en/pdo.transactions.php。事务表示必须以原子方式执行的一堆查询。如果在事务期间出现故障,它将自动执行回滚到初始状态。