// 启动事务
$trans = new Model ();
$trans->startTrans ();
//第一步:保存一条数据
$model = D ( "Article", "Model" );
$data ['user_id'] = $userId;
$model->data ( $data )->add ();
//第二步:调用某存储过程
$params = array (
$userId,
);
$sql = "call p_test(%d)";
$res = $model->query ( $sql, $params );
// 提交事务
$trans->commit ();..
使用的是最新版TP。
当前现象:执行代码,第一步与第二步均执行成功,commit动作返回true,但数据库的数据没有增加。
但 将第二步删除 或者 将第二步放在第一步之前,数据可以保存正常。
所以怀疑,调用存储过程影响了事务的提交。请教原因。
最佳答案