ホームページ  >  記事  >  バックエンド開発  >  thinkPHP フレームワークでトランザクションを実行するためのメソッド

thinkPHP フレームワークでトランザクションを実行するためのメソッド

不言
不言オリジナル
2018-05-31 14:52:412188ブラウズ

この記事では、主に 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() で定義されています。 : トランザクション処理をオープンstartTran(): 开启事务处理

Commit(): 提交事务

Rollback()

Commit(): トランザクションを送信

Rollback(): ロールバック

実行する必要のあるトランザクションが別の SQL テーブルにある場合、ただ 2 つの SQL のモデル定義の差分を実行するだけです

関連する推奨事項:

データの追加、削除、変更を実装する ThinkPHP フレームワークのメソッド

ThinkPHP フレームワーク PDO がデータベースに接続する手順の詳細な説明

thinkPHPフレームワークの自動入力原理と使い方を詳しく解説

🎜🎜🎜

以上がthinkPHP フレームワークでトランザクションを実行するためのメソッドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。