国产探花免费观看_亚洲丰满少妇自慰呻吟_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";
 }
 
?>

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

圖片精選

主站蜘蛛池模板: 乌恰县| 荣成市| 昌黎县| 海门市| 平湖市| 东方市| 蒙山县| 东乡县| 偃师市| 景宁| 大姚县| 临高县| 荣成市| 大荔县| 定日县| 开封市| 新泰市| 伊宁县| 磐安县| 定结县| 江孜县| 隆尧县| 淮安市| 翁牛特旗| 淮北市| 江西省| 兰州市| 宁远县| 宿迁市| 延庆县| 淳化县| 进贤县| 大名县| 浦江县| 沈丘县| 潍坊市| 鹤庆县| 奉新县| 宜兴市| 综艺| 太康县|