久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

php實(shí)現(xiàn)基于pdo的事務(wù)處理方法示例

這篇文章主要介紹了php實(shí)現(xiàn)基于pdo的事務(wù)處理方法,結(jié)合實(shí)例形式分析了php使用pdo進(jìn)行事務(wù)操作的相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下

本文實(shí)例講述了php實(shí)現(xiàn)基于pdo的事務(wù)處理方法。分享給大家供大家參考,具體如下:

實(shí)例1:

try {} catch () {} 形式

<?php
$dsn = 'mysql:dbname=cheyun_cms;host=127.0.0.1';
$user = 'root';
$password = '111111';
//采用預(yù)處理+事務(wù)處理執(zhí)行SQL操作
//1.連接數(shù)據(jù)庫(kù)
try {
  $pdo = new PDO($dsn, $user, $password);
  $pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) {
  die("數(shù)據(jù)庫(kù)連接失敗".$e->getMessage());
}
//2.執(zhí)行數(shù)據(jù)操作
try{
  //開啟事物,此時(shí)會(huì)關(guān)閉自動(dòng)提交
  $pdo->beginTransaction();
  $sql = "insert into cy_log (logid, value, action, file) values (?, ?, ?, ?)";
  $stmt = $pdo->prepare($sql);
  //傳入?yún)?shù)
  $stmt->execute(array(null,"test4","w",11));
  $stmt->execute(array(null,"test5","w",11));
  $stmt->execute(array(null,"test3","w",11));
  //提交事物,并且 數(shù)據(jù)庫(kù)連接返回到自動(dòng)提交模式
  $pdo->commit();
}catch(PDOException $e){
  echo '執(zhí)行失敗'.$e->getMessage();
  //如果數(shù)據(jù)庫(kù)被設(shè)置成自動(dòng)提交模式,rollback 在回滾事務(wù)之后將恢復(fù)自動(dòng)提交模式。
  //包括 MySQL 在內(nèi)的一些數(shù)據(jù)庫(kù), 當(dāng)在一個(gè)事務(wù)內(nèi)有類似刪除或創(chuàng)建數(shù)據(jù)表等 DLL 語(yǔ)句時(shí),會(huì)自動(dòng)導(dǎo)致一個(gè)隱式地提交。
  //隱式地提交將無(wú)法回滾此事務(wù)范圍內(nèi)的任何更改。即 DDL 語(yǔ)句無(wú)法回滾
  $pdo->rollback();
}

實(shí)例2:

if…else…形式

<?php
$dsn = 'mysql:dbname=cheyun_cms;host=127.0.0.1';
$user = 'root';
$password = '111111';
//采用預(yù)處理+事務(wù)處理執(zhí)行SQL操作
//1.連接數(shù)據(jù)庫(kù)
try {
  $pdo = new PDO($dsn, $user, $password);
} catch (PDOException $e) {
  die("數(shù)據(jù)庫(kù)連接失敗".$e->getMessage());
}
//2.執(zhí)行數(shù)據(jù)操作
//開啟事物
$pdo->beginTransaction();
$sql = "insert into cy_log (logid, value, action, file) values (?, ?, ?, ?)";
$stmt = $pdo->prepare($sql);
$datalist = array(
  array(null,"test9","w",11),
  array(null,"test10","w",11),
  array(null,"test11","w",11)
);
//是否提交標(biāo)志位
$isCommit = true;
foreach($datalist as $data){
  $stmt->execute($data);
  if($stmt->errorCode()>0){
    //回滾
    $pdo->rollback();
    $isCommit = false;
    break;
  }
}
if($isCommit){
  //提交事物
  $pdo->commit();
}

注意:

數(shù)據(jù)表需要 InnoDB 類型

更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《PHP基于pdo操作數(shù)據(jù)庫(kù)技巧總結(jié)》、《php+Oracle數(shù)據(jù)庫(kù)程序設(shè)計(jì)技巧總結(jié)》、《PHP+MongoDB數(shù)據(jù)庫(kù)操作技巧大全》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門教程》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫(kù)操作入門教程》及《php常見數(shù)據(jù)庫(kù)操作技巧匯總》

希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。

【網(wǎng)站聲明】本站除付費(fèi)源碼經(jīng)過測(cè)試外,其他素材未做測(cè)試,不保證完整性,網(wǎng)站上部分源碼僅限學(xué)習(xí)交流,請(qǐng)勿用于商業(yè)用途。如損害你的權(quán)益請(qǐng)聯(lián)系客服QQ:2655101040 給予處理,謝謝支持。

相關(guān)文檔推薦

這篇文章主要介紹了PHP有序表查找之插值查找算法,簡(jiǎn)單分析了插值查找算法的概念、原理并結(jié)合實(shí)例形式分析了php實(shí)現(xiàn)針對(duì)有序表插值查找的相關(guān)操作技巧,需要的朋友可以參考下
下面小編就為大家分享一篇ThinkPHP整合datatables實(shí)現(xiàn)服務(wù)端分頁(yè)的示例代碼,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧
下面小編就為大家分享一篇PHP實(shí)現(xiàn)APP微信支付的實(shí)例講解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧
這篇文章主要介紹了PHP實(shí)現(xiàn)的多維數(shù)組排序算法,結(jié)合實(shí)例形式對(duì)比分析了php針對(duì)多維數(shù)組及帶有鍵名的多維數(shù)組進(jìn)行排序相關(guān)操作技巧與注意事項(xiàng),需要的朋友可以參考下
這篇文章主要為大家詳細(xì)介紹了php結(jié)合ajaxuploadfile實(shí)現(xiàn)無(wú)刷新文件上傳功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
本篇文章給大家詳細(xì)介紹了PHP開發(fā)接口使用RSA進(jìn)行加密解密方法,對(duì)此有興趣的朋友可以學(xué)習(xí)下。
主站蜘蛛池模板: 国产精品久久久久9999鸭 | 国产精品成人一区二区三区夜夜夜 | 天天操天天舔 | 国产乱码精品1区2区3区 | 福利视频网站 | 成人毛片网 | 国产真实精品久久二三区 | 性大毛片视频 | 亚洲欧洲成人av每日更新 | 色av一区| 天天插天天狠天天透 | 国户精品久久久久久久久久久不卡 | 综合久久99 | 日日操夜夜操天天操 | 欧美一级在线观看 | 久久精品亚洲精品 | 久久精品久久综合 | 日韩三级| 天堂在线www| 91中文| h片在线看 | 在线婷婷 | 国产精品1区 | 成人在线视频免费看 | 国产精品视频一二三区 | 草久久免费视频 | 国产精彩视频一区 | 精品乱码一区二区三四区视频 | 精品国产一区二区国模嫣然 | 中文字幕一区在线观看视频 | 国产精品成人一区二区三区 | 亚洲欧洲中文 | 国产做a爱片久久毛片 | 韩国毛片一区二区三区 | 超碰国产在线 | 国产成人免费视频网站高清观看视频 | 国产精品久久久久久网站 | 国产一级片网站 | 亚洲三区视频 | 最新黄色毛片 | 国产精品日韩欧美一区二区 |