php+Mysqli利用事務(wù)處理轉(zhuǎn)賬問題實(shí)例
更新時間:2015年02月11日 14:40:16 作者:woshisap
這篇文章主要介紹了php+Mysqli利用事務(wù)處理轉(zhuǎn)賬問題的方法,實(shí)例分析了php+mysqli處理事務(wù)的提交與回滾的技巧,需要的朋友可以參考下
本文實(shí)例講述了php+Mysqli利用事務(wù)處理轉(zhuǎn)賬問題的方法。分享給大家供大家參考。具體實(shí)現(xiàn)方法如下:
<?php
header("Content-type:text/html; charset=utf-8");
$mysqli = new mysqli("localhost", "root", "064319", "php");
$mysqli->set_charset("utf8");
if($mysqli->connect_errno) {
die('數(shù)據(jù)庫連接失敗'.$mysqli->connect_error);
}
$mysqli->autocommit(false); //自動提交模式設(shè)為false
$flag = true; //事務(wù)是否成功執(zhí)行的標(biāo)志
$query = "update account set balance=balance-1000 where id=3";
$result = $mysqli->query($query);
$affected_count = $mysqli->affected_rows;
if(!result || $affected_count == 0) { //失敗
$flag = false;
}
$query = "update account set balance=balance+1000 where id=2";
$result = $mysqli->query($query);
$affected_count = $mysqli->affected_rows;
if(!$result || $affected_count == 0) {
$flag = false;
}
if($flag) {
$mysqli->commit();
echo '轉(zhuǎn)賬成功';
} else {
$mysqli->rollback();
echo '轉(zhuǎn)賬失敗';
}
$mysqli->autocommit(true); //重新設(shè)置事務(wù)為自動提交
$mysqli->close();
?>
希望本文所述對大家的php程序設(shè)計(jì)有所幫助。
相關(guān)文章
學(xué)習(xí)php設(shè)計(jì)模式 php實(shí)現(xiàn)觀察者模式(Observer)
這篇文章主要介紹了php設(shè)計(jì)模式中的觀察者模式,使用php實(shí)現(xiàn)觀察者模式,感興趣的小伙伴們可以參考一下2015-12-12
PHP設(shè)計(jì)模式之委托模式定義與用法簡單示例
這篇文章主要介紹了PHP設(shè)計(jì)模式之委托模式定義與用法,簡單描述了委托模式的功能、定義與簡單使用方法,需要的朋友可以參考下2018-08-08
PHP Session_Regenerate_ID函數(shù)雙釋放內(nèi)存破壞漏洞
PHP Session_Regenerate_ID函數(shù)存在雙釋放內(nèi)容破壞問題,遠(yuǎn)程攻擊者可利用此漏洞對應(yīng)用程序進(jìn)行拒絕服務(wù)攻擊,可能導(dǎo)致任意指令執(zhí)行。2011-01-01
PHP實(shí)現(xiàn)的簡單網(wǎng)絡(luò)硬盤
這篇文章主要介紹了PHP實(shí)現(xiàn)的簡單網(wǎng)絡(luò)硬盤,涉及php動態(tài)創(chuàng)建文件夾及文件上傳的相關(guān)技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-07-07
PHP錯誤Warning:mysql_query()解決方法
這篇文章主要介紹了PHP錯誤Warning:mysql_query()的解決方法,希望可以真正解決大家的問題,需要的朋友可以參考下2015-10-10

