// 假设已连接数据库,$db为数据库连接对象

try {
   // 开启事务
   $db->startTrans();

   // 执行SQL操作
   $db->execute("INSERT INTO `order` (user_id, total) VALUES (1, 1000)");
   $db->execute("UPDATE `user` SET balance = balance - 1000 WHERE id = 1");

   // 提交事务
   $db->commit();
} catch (\Exception $e) {
   // 发生异常时回滚事务
   $db->rollback();
   echo "数据库事务执行失败:" . $e->getMessage();
}

ThinkPHP框架在开发过程中,数据库的事务管理是非常重要的。事务能够确保操作的一致性以及数据的完整性,同时提供了异常处理机制。

在上述示例代码中,我们通过使用`startTrans()`方法开启了数据库事务。然后,我们执行了两个SQL操作:一个是向`order`表插入了一条订单记录,另一个是更新了`user`表中对应用户的余额。

如果在执行SQL操作的过程中,发生了异常(比如数据库连接错误、SQL语法错误等),则会进入`catch`块。在`catch`块中,我们回滚了事务,并打印了异常信息。

如果没有发生异常,我们就需要使用`commit()`方法来提交事务。这样,在所有SQL操作成功执行后,事务会被提交,并将数据持久化到数据库中。

通过使用数据库事务管理,我们能够确保多个数据库操作要么全部执行成功,要么全部回滚。这对于一些需要保证数据一致性的操作非常重要,例如在转账过程中,同时更新两个账户的余额。