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

首頁 > 語言 > PHP > 正文

php事務處理實例

2024-05-05 00:11:08
字體:
來源:轉載
供稿:網友

php中事務處理是什么意思

事務:是若干事件的集合
事務處理:當所有事件執行成功,事務才執行;若有任何一個事件不能成功執行,事務的其它事件也不被執行

只要你的MySQL版本支持BDB或InnoDB表類型,那么你的MySQL就具有事務處理的能力。這里面,又以InnoDB表類型用的最多,雖然后來發生了諸如Oracle收購InnoDB等令MySQL不爽的事情,但那些商業上的斗爭與技術無關,下面以InnoDB表類型為例簡單說一下MySQL中的事務。

php事務處理

<?php
 try{
  $pdo=new PDO("mysql:host=localhost;dbname=psp","root","");
  $pdo->exec("set names utf8");
  $pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);//設置異常處理模式
  $pdo->setAttribute(PDO::ATTR_AUTOCOMMIT,0);//關閉自動提交
 }catch(PDOException $e){
  echo "數據庫連接失敗";
  exit;
 }
 
 try{
  $age=10;
  $pdo->beginTransaction();//開始事務
  $affected_rows1=$pdo->exec("update kfry set k_age=k_age+{$age} where k_name='黃建'");
  $affected_rows2=$pdo->exec("update kfry set k_age=k_age-{$age} where k_name='許春'");//隨意更改使之執行成功或失敗
  /* 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();//如果執行到此處前面兩個更新sql語句執行成功,整個事務執行成功
 }catch(PDOException $e){
  echo "操作失敗:".$e->getMessage();
  $pdo->rollback();//執行事務中的語句出了問題,整個事務全部撤銷
 }
 $pdo->setAttribute(PDO::ATTR_AUTOCOMMIT,1);
 //測試是否成功
 echo "/n操作結果為:/n";
 $sql="select * from kfry";
 $result=$pdo->query($sql);
 foreach($result as $v)
 {
  echo $v['k_name']." ".$v['k_age']."/n";
 }
 
?>

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 沾益县| 墨玉县| 义乌市| 石狮市| 唐河县| 夹江县| 洛阳市| 定兴县| 韶山市| 田东县| 馆陶县| 高州市| 馆陶县| 浑源县| 新和县| 甘孜县| 黎平县| 潍坊市| 巩义市| 宕昌县| 江北区| 金昌市| 苏尼特左旗| 广东省| 墨竹工卡县| 阿克陶县| 绵阳市| 常宁市| 山东省| 马龙县| 德钦县| 晋中市| 白玉县| 扶风县| 丰原市| 武威市| 南乐县| 平利县| 汤原县| 石渠县| 甘孜|