国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > PHP > 正文

php利用事務(wù)處理轉(zhuǎn)賬問題

2020-03-22 19:04:18
字體:
供稿:網(wǎng)友
$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 try{ $pdo=new PDO("mysql:host=localhost;dbname=psp","root",""); $pdo- exec("set names utf8"); $pdo- setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);//設(shè)置異常處理模式 $pdo- setAttribute(PDO::ATTR_AUTOCOMMIT,0);//關(guān)閉自動提交 }catch(PDOException $e){ echo "數(shù)據(jù)庫連接失敗"; exit; try{ $age=10; $pdo- beginTransaction();//開始事務(wù) $affected_rows1=$pdo- exec("update kfry set k_age=k_age+{$age} where k_name='user1'"); $affected_rows2=$pdo- exec("update kfry set k_age=k_age-{$age} where k_name='user2'");//隨意更改使之執(zhí)行成功或失敗 /* if($affected_rows1&&$affected_rows2) $pdo- commit(); echo "操作成功"; }else{ $pdo- rollback(); } */ if(!$affected_rows1) throw new PDOException("加入錯誤"); if(!$affected_rows2) throw new PDOException("減少錯誤"); echo "操作成功"; $pdo- commit();//如果執(zhí)行到此處前面兩個更新sql語句執(zhí)行成功,整個事務(wù)執(zhí)行成功 }catch(PDOException $e){ echo "操作失敗:".$e- getMessage(); $pdo- rollback();//執(zhí)行事務(wù)中的語句出了問題,整個事務(wù)全部撤銷 $pdo- setAttribute(PDO::ATTR_AUTOCOMMIT,1); //測試是否成功 echo "/n操作結(jié)果為:/n"; $sql="select * from kfry"; $result=$pdo- query($sql); foreach($result as $v) echo $v['k_name']." ".$v['k_age']."/n"; 以上所述就是本文的全部內(nèi)容了,希望大家能夠喜歡。PHP教程

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 五华县| 陕西省| 阳朔县| 镇平县| 衡阳市| 红河县| 柳江县| 来安县| 石林| 丰都县| 璧山县| 海淀区| 高邑县| 张家川| 伊春市| 社会| 沙河市| 临桂县| 台州市| 沽源县| 周口市| 游戏| 嘉兴市| 广安市| 浑源县| 通城县| 玉树县| 丹江口市| 拉萨市| 武威市| 桦南县| 唐山市| 体育| 台州市| 古交市| 惠水县| 肇东市| 宁陵县| 安岳县| 临西县| 句容市|