ActiveCollab自定义插入/更新查询问题

时间:2013-10-07 11:49:47

标签: php mysql insert sql-update activecollab

我尝试使用DB :: execute()函数执行一些自定义查询,方法是将查询作为参数传递给此函数 - 在现有表上更新查询。在运行此查询之前,我检查了连接对象,如$ connection = DB :: getConnection();它返回了一个连接标识符。然后在执行查询时,它从执行函数返回bool true,尽管数据库表字段中没有更改。此外,如果我使用错误的语法传递查询,则会出错。

在ActiveCollab中使用更新查询语句在后台进行回滚过程吗?如果是,如何停止此回滚以避免更新查询所做的更改?

有谁能告诉我这里可能出现什么问题?

1 个答案:

答案 0 :(得分:1)

所有未提交的事务都会在脚本关闭时自动回滚,因此您需要确保提交已打开的事务:

try {
  DB::beginWork();

  // Do something

  DB::commit();
} catch(Exception $e) {
  DB::rollback();
  throw $e;
}

或:

DB::transact(function() {
  // Do something
});

如果您在嵌套事务中并且外部事务被回滚,那么您的更新也将被回滚。