在mysql表中多次插入

时间:2011-04-07 10:30:30

标签: php mysql commit rollback

我在插入mysql表时遇到问题。我有3个相关的表要在保存时插入,但我想确保所有查询都运行,或者都不运行。我在C#中做过这个,但我想知道如何用PHP做到这一点。

1 个答案:

答案 0 :(得分:3)

为了拥有全部或全部行为,您将需要使用交易:

  • 开始交易
  • 执行您的查询
  • 如果所有查询都已成功执行,则提交
  • else,rollback。


在PHP中,如果使用PDO,您将需要使用PDO::beginTransaction()PDO::commit()PDO::rollback()方法。

如果使用MySQLi,则在使用mysqli::commit()禁用自动提交后,您将需要使用mysqli::rollback()mysqli::autocommit()


要检测查询是否失败,您需要: