>  기사  >  백엔드 개발  >  thinkPHP 프레임워크에서 트랜잭션을 실행하는 방법

thinkPHP 프레임워크에서 트랜잭션을 실행하는 방법

不言
不言원래의
2018-05-31 14:52:412207검색

이 글에서는 thinkPHP 프레임워크에서 트랜잭션을 실행하는 방법을 주로 소개하고, startTran(), Commit(), Rollback() 메소드를 사용하여 thinkPHP 프레임워크에서 트랜잭션 실행 및 롤백 작업과 관련된 구현 기술을 예제 형식으로 분석한다. 필요하신 분들은 참고하시면 됩니다.

이 글의 예제는 thinkPHP 프레임워크에서 트랜잭션을 실행하는 방법을 설명합니다. 참고할 수 있도록 모든 사람과 공유하세요. 세부 사항은 다음과 같습니다.

function tran(){
  //定义事务成功失败的标志
  $mark = true;
  //1. 实例化模型
  $model = D('student');
  //2. 开启事务处理
  $model->startTrans();
  //3. ls减少2000
  $sql = "update student set money=money-2000 where uname='ls'";
  $result = $model->execute($sql);
  //判断sql执行是否成功,如果失败,则将$mark改为false
  if(!$result){
    $mark = false;
  }
  //4. zs增加2000
  $sql = "update student set money=money+2000 where uname='zs'";
  $result = $user->execute($sql);
  //判断sql执行是否成功,如果失败,则将$mark改为false
  if(!$result){
    $mark = false;
  }
  $mark = false; //暂时强制改为false,测试回滚效果
  //5. 提交事务
  //判断$mark的值,为ture则提交,为false则回滚
  if($mark){
    $user->commit();
  } else {
    $user->rollback();
  }
}

TP의 트랜잭션 관련 메서드: 모두 Model.class.php

startTran()에 정의되어 있습니다. : Open Transaction 처리startTran(): 开启事务处理

Commit(): 提交事务

Rollback()

Commit(): Submit transaction

Rollback(): Rollback

실행해야 할 트랜잭션이 다른 SQL 테이블에 있는 경우, 그냥 두 SQL의 모델 정의 간의 차이점을 실행하세요

관련 권장사항:

데이터 추가, 삭제 및 수정을 구현하는 ThinkPHP 프레임워크 방법

데이터베이스에 연결하는 ThinkPHP 프레임워크 PDO 단계에 대한 자세한 설명

thinkPHP 프레임워크 자동 채우기 원리 및 사용법 자세한 설명

🎜🎜🎜

위 내용은 thinkPHP 프레임워크에서 트랜잭션을 실행하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.