如何避免在PHP中执行半码

时间:2016-04-07 07:09:57

标签: php mysql

我有一个带有几个mysql查询的php脚本。一旦我运行这个脚本,它就会执行前两个查询,并且会发生服务器错误。(它会在任何地方发生)。其他查询没有执行。这种情况造成了很大的问题。因为某些表已更新而其他表未更新。我想避免这个问题。他们的解决方案是什么?

2 个答案:

答案 0 :(得分:0)

阅读MySQLi事务,提交和回滚

http://php.net/manual/en/mysqli.begin-transaction.php

如果您开始交易,这将解决您的问题。然后,您可以执行所需的所有查询,然后提交一个提交。如果从未触发提交,则会发生自动回滚。

答案 1 :(得分:0)

您可以在代码中使用这些查询

START TRANSACTION or BEGIN start a new transaction.

COMMIT commits the current transaction, making its changes permanent.

ROLLBACK rolls back the current transaction, canceling its changes.

SET autocommit disables or enables the default autocommit mode for the current session.

有关http://dev.mysql.com/doc/refman/5.7/en/commit.html

的更多信息

我的建议是使用第一个查询START Transaction启动您的代码然后执行您的查询,最后使用COMMIT