Maison >développement back-end >tutoriel php >Méthodes d'exécution de transactions dans le framework thinkPHP

Méthodes d'exécution de transactions dans le framework thinkPHP

不言
不言original
2018-05-31 14:52:412241parcourir

Cet article présente principalement la méthode d'exécution des transactions dans le framework thinkPHP, et analyse la mise en œuvre des opérations de transaction et de rollback dans le framework thinkPHP à l'aide des méthodes startTran(), Commit() et Rollback() encapsulées dans le modèle du sous forme d'exemples. Pour obtenir des conseils, les amis qui en ont besoin peuvent se référer à

Les exemples de cet article décrivent la méthode d'exécution des transactions dans le framework thinkPHP. Partagez-le avec tout le monde pour référence, comme suit :

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();
  }
}

Méthodes liées aux transactions dans TP : toutes sont définies dans Model.class.php

startTran() : Démarrer le traitement de la transaction

Commit() : Soumettre la transaction

Rollback() : Restaurer

Lorsque la transaction qui doit être exécutée est Quand dans différentes tables SQL, il vous suffit d'exécuter les différentes définitions de modèle des deux SQL

Recommandations associées :

Méthode du framework ThinkPHP pour implémenter l'ajout, la suppression et la modification de données

Explication détaillée des étapes pour connecter le framework ThinkPHP PDO à la base de données

Explication détaillée des principes et de l'utilisation du remplissage automatique du framework thinkPHP

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn