最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時(shí)間:2017年07月21日 11:12:17   作者:3wlog  
這篇文章主要介紹了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 語句時(shí),會(huì)自動(dòng)導(dǎo)致一個(gè)隱式地提交。
  //隱式地提交將無法回滾此事務(wù)范圍內(nèi)的任何更改。即 DDL 語句無法回滾
  $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ì)有所幫助。

相關(guān)文章

  • php中addslashes函數(shù)與sql防注入

    php中addslashes函數(shù)與sql防注入

    這篇文章主要介紹了php中addslashes函數(shù)與sql防注入,實(shí)例講述了采用addslashes函數(shù)對(duì)于sql防注入的用處,對(duì)于PHP安全程序設(shè)計(jì)來說具有不錯(cuò)的參考借鑒價(jià)值,需要的朋友可以參考下
    2014-11-11
  • PHP基于mssql擴(kuò)展遠(yuǎn)程連接MSSQL的簡(jiǎn)單實(shí)現(xiàn)方法

    PHP基于mssql擴(kuò)展遠(yuǎn)程連接MSSQL的簡(jiǎn)單實(shí)現(xiàn)方法

    這篇文章主要介紹了PHP基于mssql擴(kuò)展遠(yuǎn)程連接MSSQL的簡(jiǎn)單實(shí)現(xiàn)方法,涉及php操作mssql的簡(jiǎn)單連接、查詢、遍歷與輸出相關(guān)操作技巧,需要的朋友可以參考下
    2016-10-10
  • PHP擴(kuò)展之kafka安裝應(yīng)用案例詳解

    PHP擴(kuò)展之kafka安裝應(yīng)用案例詳解

    這篇文章主要介紹了PHP擴(kuò)展之kafka安裝應(yīng)用案例詳解,本篇文章通過簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-09-09
  • php中的異常和錯(cuò)誤淺析

    php中的異常和錯(cuò)誤淺析

    PHP錯(cuò)誤是屬于php程序自身的問題,一般是由非法的語法,環(huán)境問題導(dǎo)致的,使得編譯器無法通過檢查甚至無法運(yùn)行的情況。PHP異常一般是業(yè)務(wù)邏輯上出現(xiàn)的不合預(yù)期、與正常流程不同的狀況,不是語法錯(cuò)誤。本文介紹了php中異常和錯(cuò)誤的相關(guān)資料,需要的朋友可以參考下。
    2017-05-05
  • php中簡(jiǎn)單的對(duì)稱加密算法實(shí)現(xiàn)

    php中簡(jiǎn)單的對(duì)稱加密算法實(shí)現(xiàn)

    最近突發(fā)奇想要往數(shù)據(jù)庫(kù)里保存一些機(jī)密的東西,然后就想著怎么讓別人即使進(jìn)入到了數(shù)據(jù)庫(kù)也看不懂存儲(chǔ)的是什么,那么只有加密了;可是我們自己還要看呢,那只能找一些對(duì)稱加密的算法了,我們想看的時(shí)候再解密回來。下面就介紹了php中簡(jiǎn)單的對(duì)稱加密算法實(shí)現(xiàn)。
    2017-01-01
  • PHP實(shí)現(xiàn)的各類hash算法長(zhǎng)度及性能測(cè)試實(shí)例

    PHP實(shí)現(xiàn)的各類hash算法長(zhǎng)度及性能測(cè)試實(shí)例

    這篇文章主要介紹了PHP實(shí)現(xiàn)的各類hash算法長(zhǎng)度及性能測(cè)試,結(jié)合具體實(shí)例形式分析了php hash計(jì)算的相關(guān)操作技巧,需要的朋友可以參考下
    2017-08-08
  • PHP實(shí)現(xiàn)執(zhí)行外部程序的方法詳解

    PHP實(shí)現(xiàn)執(zhí)行外部程序的方法詳解

    這篇文章主要介紹了PHP實(shí)現(xiàn)執(zhí)行外部程序的方法,結(jié)合實(shí)例形式分析了php執(zhí)行外部程序的常用函數(shù)相關(guān)使用技巧與注意事項(xiàng),需要的朋友可以參考下
    2017-08-08
  • 你真的了解PHP中的引用符號(hào)(&)嗎

    你真的了解PHP中的引用符號(hào)(&)嗎

    php的引用就是在變量或者函數(shù)、對(duì)象等前面加上&符號(hào),但PHP中的&符號(hào)你真的了解嗎?真的會(huì)用嗎?下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-05-05
  • PHP 模板高級(jí)篇總結(jié)

    PHP 模板高級(jí)篇總結(jié)

    PHP 模板高級(jí)篇總結(jié)...
    2006-12-12
  • php面向?qū)ο笾攸c(diǎn)知識(shí)分享

    php面向?qū)ο笾攸c(diǎn)知識(shí)分享

    在本篇文章里小編給大家整理的是關(guān)于php面向?qū)ο竽男┲攸c(diǎn)的內(nèi)容,有需要的朋友們學(xué)習(xí)參考下。
    2019-09-09

最新評(píng)論

和顺县| 定结县| 自治县| 姜堰市| 富源县| 西安市| 德化县| 宁国市| 溧水县| 始兴县| 铜山县| 巴林左旗| 寿光市| 芮城县| 通州区| 米林县| 凯里市| 蕉岭县| 涿州市| 英德市| 阳原县| 蓬溪县| 平陆县| 中山市| 互助| 桃园县| 洱源县| 保靖县| 阿尔山市| 莎车县| 丹巴县| 吉林市| 资源县| 称多县| 庆元县| 会东县| 泗阳县| 商丘市| 余庆县| 佛坪县| 新平|