1

我在 PHP 中创建了一些函数,它们执行一些或其他数据库操作,如插入、删除、更新等,并且每次我想做一些操作时都会调用这些函数。

现在,可以说,我需要执行以下操作:

  • 调用执行数据库操作的函数 1,然后等待返回消息
  • 调用执行另一个数据库操作的函数 2,然后等待返回消息
  • 调用执行其他数据库操作的函数 3,等待返回消息

如果 DB 操作在 function1 和 function2 中成功执行,但在 function3 中没有执行,则完整的操作是失败的,因为所有三个函数都必须成功。在这种情况下,我想回滚 function1 和 function2 所做的更改,因为操作不成功。

我想过将查询堆叠在一起并一次执行它们,但问题是我不知道何时必须执行查询堆栈。

例如。

if I call $obj->deletethread();
it calls $obj->deletemsg(); and $obj->deleteattachments(); and $obj->deletetags(); gets called

但这可能并非一直如此,即

if I call $obj->deletemsg();
$obj->deleteattachments(); and $obj->deletetags(); gets called

我想说的是这些函数可以由任何其他函数以任何顺序调用。有什么办法可以做到这一点?

为什么我需要这个:如果数据库操作在任何时候都不成功,部分数据会插入到数据库操作成功的表中,这是我不想要的,因为它会导致不正确的记录。

4

0 回答 0