程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> 關於MYSQL數據庫 >> PHP處理MySQL事務的方法

PHP處理MySQL事務的方法

編輯:關於MYSQL數據庫

本節通過具體實例來介紹PHP是如何處理MySQL事務的。PHP處理MySQL事務是通過PHP中的預定義類MySQLi來完成的,該類中與事務處理相關的方法如下。
autocommit():該方法的參數為false或true,false表示禁止自動提交查詢,true表示自動提交查詢。
rollback():該方法的作用是當發生意外時,自動回滾到事務開始之前的狀態。
commit():該方法的作用是提交事務。
此處將通過銀行轉賬的過程來介紹事務的處理方式。前面已經介紹過銀行轉賬主要有兩個過程來完成,也就是需要執行兩個查詢,在這裡用tb_money代表金額表,用money代表金額字段,用user_out和user_in來分別表示匯款人和收款人。
首先建立與數據庫的連接:
$conn=new MySQLi("localhost","username","passWord","db_name");     //連接數據庫服務器
$conn->query("set names gb2312",MySQLI_USE_RESULT);         //設置字符集為簡體中文
關閉查詢的自動提交:
$conn->autocommit(false);
建立第一步查詢:
$sql="update tb_money set money=money-1000";
$result1=$conn->query($sql , MySQLI_USE_RESULT);
if(!$result1)                                                //發生意外則回滾
$conn->rollback();
建立第二步查詢:
$sq2="update tb_money set money=money+1000";
$result2=$conn->query($sq2 , MySQLI_USE_RESULT);
if(!$result2)                                               //發生意外則回滾
$conn->rollback();
提交事務:
$conn->commit();
$conn->autocommit(true);
$conn->close();

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved