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

首頁 > 開發(fā) > PHP > 正文

php下pdo的mysql事務(wù)處理應(yīng)用實(shí)例

2024-05-04 21:49:12
字體:
供稿:網(wǎng)友

php+mysql事務(wù)處理的幾個(gè)步驟:

1.關(guān)閉自動(dòng)提交 2.開啟事務(wù)處理 3.有異常就自動(dòng)拋出異常提示再回滾 4.開啟自動(dòng)提交

注意:mysql只有這個(gè)InnoDB驅(qū)動(dòng)是支持事務(wù)處理的,默認(rèn)MyIsAM驅(qū)動(dòng)不支持,下面是實(shí)例代碼:

  1. <?php 
  2.     try{ 
  3.         $pdo=new pdo("mysql:host=localhost;dbname=mydb""root""root"array(PDO::ATTR_AUTOCOMMIT=>0));//最后是關(guān)閉自動(dòng)提交 
  4.         //$pdo->setAttribute(PDO::ATTR_AUTOCOMMIT, 0);//這個(gè)是通過設(shè)置屬性方法進(jìn)行關(guān)閉自動(dòng)提交和上面的功能一樣 
  5.         $pdo->setAttribute(PDO::ATTR_ERRMODE,  PDO::ERRMODE_EXCEPTION);//開啟異常處理 
  6.     }catch(PDOException $e){ 
  7.         echo "數(shù)據(jù)庫連接失敗:".$e->getMessage(); 
  8.         exit;//開源代碼Vevb.com 
  9.     } 
  10.     /* 
  11.      * 事務(wù)處理 
  12.      * 
  13.      *   張三從李四那里買了一臺(tái) 2000 元的電腦 
  14.      *     從張三帳號(hào)中扣出 2000元 
  15.      *     向李四賬號(hào)中加入 2000元 
  16.      *     從商品表中減少一臺(tái)電腦 
  17.      *     MyIsAM  InnoDB 
  18.      */ 
  19.     try{ 
  20.         $pdo->beginTransaction();//開啟事務(wù)處理        
  21.         $price=500; 
  22.         $sql="update zhanghao set price=price-{$price} where id=1"
  23.         $affected_rows=$pdo->exec($sql); 
  24.         if(!$affected_rows
  25.             throw new PDOException("張三轉(zhuǎn)出失敗");//那個(gè)錯(cuò)誤拋出異常 
  26.         $sql="update zhanghao set price=price+{$price} where id=3"
  27.         $affected_rows=$pdo->exec($sql);       
  28.         if(!$affected_rows
  29.             throw new PDOException("向李四轉(zhuǎn)入失敗"); 
  30.         echo "交易成功!"
  31.         $pdo->commit();//交易成功就提交 
  32.     }catch(PDOException $e){ 
  33.         echo $e->getMessage(); 
  34.         $pdo->rollback(); 
  35.     }   
  36.     $pdo->setAttribute(PDO::ATTR_AUTOCOMMIT, 1);//自動(dòng)提交,如果最后不自動(dòng)提交,轉(zhuǎn)賬是不成功的   
  37.     //設(shè)置錯(cuò)誤報(bào)告模式 ERRMODE_SILENT    ERRMODE_WARNING 
  38. ?>

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 建昌县| 漠河县| 万安县| 名山县| 南涧| 溧水县| 阿合奇县| 杨浦区| 宾阳县| 青冈县| 彭泽县| 永川市| 山丹县| 平凉市| 上杭县| 永嘉县| 南宫市| 周至县| 获嘉县| 东明县| 锦州市| 临泽县| 综艺| 连南| 长岛县| 台北市| 辽宁省| 宁津县| 永寿县| 大方县| 澄江县| 富宁县| 尤溪县| 开化县| 恭城| 济阳县| 贡嘎县| 湾仔区| 宁国市| 璧山县| 玉山县|