《PHP應(yīng)用:php+mysqli事務(wù)控制實(shí)現(xiàn)銀行轉(zhuǎn)賬實(shí)例》要點(diǎn):
本文介紹了PHP應(yīng)用:php+mysqli事務(wù)控制實(shí)現(xiàn)銀行轉(zhuǎn)賬實(shí)例,希望對(duì)您有用。如果有疑問,可以聯(lián)系我們。
PHP學(xué)習(xí)本文實(shí)例講述了php+mysqli事務(wù)控制實(shí)現(xiàn)銀行轉(zhuǎn)賬的辦法.分享給大家供大家參考.具體分析如下:
PHP學(xué)習(xí)事務(wù)控制,也就是說所有的語句執(zhí)行成功后,才會(huì)提交.否則,如果前面有語句執(zhí)行成功,而后面沒有執(zhí)行成功,則回滾到執(zhí)行之前的狀態(tài).通過銀行轉(zhuǎn)賬的案例來說明這個(gè)應(yīng)用.一個(gè)賬號(hào)轉(zhuǎn)了錢出去,另一個(gè)賬號(hào)必須有錢轉(zhuǎn)入,這樣才算成功.
PHP學(xué)習(xí)代碼如下:
PHP學(xué)習(xí)
<?php
//1、創(chuàng)建數(shù)據(jù)庫連接對(duì)象
$mysqli = new MySQLi("localhost","root","123456","liuyan");
if($mysqli->connect_error){
die($mysqli->connect_error);
}
$mysqli->query("set names 'GBK'");
$mysqli->autocommit(false);
//首先設(shè)置autocommit為false,也就是不自動(dòng)提交
$sql1 = "update account set balance=balance-2 where id=1;";
$sql2 = "update account set balance=balance+2 where id=2;";
$res1 =$mysqli->query($sql1) or die($mysqli->error);
$res2 =$mysqli->query($sql2) or die($mysqli->error);
if(!$res1 || !$res2){
echo "轉(zhuǎn)賬失敗";
$mysqli->rollback();//如果有一條不成功,則回滾
}else{
$mysqli->commit();//兩條語句都執(zhí)行成功,則提交
echo "轉(zhuǎn)賬成功";
}
?>
PHP學(xué)習(xí)希望本文所述對(duì)大家的php程序設(shè)計(jì)有所贊助.
維易PHP培訓(xùn)學(xué)院每天發(fā)布《PHP應(yīng)用:php+mysqli事務(wù)控制實(shí)現(xiàn)銀行轉(zhuǎn)賬實(shí)例》等實(shí)戰(zhàn)技能,PHP、MYSQL、LINUX、APP、JS,CSS全面培養(yǎng)人才。
轉(zhuǎn)載請(qǐng)注明本頁網(wǎng)址:
http://www.snjht.com/jiaocheng/12498.html