程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> php事務處理實例詳解,php事務處理詳解

php事務處理實例詳解,php事務處理詳解

編輯:關於PHP編程

php事務處理實例詳解,php事務處理詳解


一、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='user1'");
 $affected_rows2=$pdo->exec("update kfry set k_age=k_age-{$age} where k_name='user2'");//隨意更改使之執行成功或失敗
 /* 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";
 }
?>

PHP一般是怎做SQL事務處理的

EC中有事務處理,PHP怎麼實現這個還真沒研究過,回家研究研究再告訴你
 

php練級步驟

第一階段第一講,WEB基礎 1.1 網站基本知識;1.2 網絡協議介紹; 1.3 B/S與C/S結構的區別;1.4 WEB編程、網站開發技術介紹。 第二講,網頁設計 2.1 Dreamweaver介紹及使用;2.2 靜態網頁HTML語言; 2.3 標題與段落,換行與分割線;2.4 表格、表單;2.5 框架、超鏈接、圖片。 實例:1,使用表格進行網頁布局設計; 2,使用表單、表格、框架進行系統後台界面設計。第三講,DIV+CSS 3.1 CSS的概念及基本語法;3.2 用CSS設置豐富的文字效果設置圖片效果; 3.3 用CSS設置表格與表單的樣式,用CSS設置頁面和浏覽器的元素;3.4 CSS盒模型;3.7 CSS+DIV布局,CSS+DIV美化與布局實戰。 實例:1,使用DIV+CSS設計按鈕及Tab; 2,使用DIV+CSS設計導航菜單;3,使用DIV+CSS設計論壇網頁;4,使用DIV+CSS設計博客網頁。第四講,PHP開發環境 4.1 集成開發環境XAMPP安裝;4.2 Zend Studio的安裝、配置; 4.3 Eclipse PDT的安裝與配置;4.4 編寫第一個PHP程序;4.5 調試PHP程序。 第五講,PHP編程基礎 5.1 PHP語言特性與發展趨勢;5.2 PHP變量常量數據類型; 5.3 PHP運算符與表達式;5.4 PHP流程控制語句;5.5 PHP函數。 第六講,MySQL開發基礎 6.1 MySQL數據庫系統介紹及安裝;6.2 MySQL數據類型介紹; 6.3 MySQL表的創建、修改與刪除;6.4 MySQL查詢語句;6.5 PHP MySQL函數使用詳解。 實例:1,論壇數據庫表設計; 2,PHP連接MySQL數據庫,實現增刪改查。第七講,Web2.0開發技術Ajax 7.1 JavaScript介紹;7.2 JavaScript語法基礎; 7.3 DOM對象基礎及事件;7.4 Ajax核心對象XMLHttpRequest詳解;7.5 Ajax異步通信原理;7.6 開發Ajax應用;7.6 Ajax框架jQuery介紹及使用。 實例:1,Tab的動態切換效果; 2,論壇系統中使用Ajax方式驗證用戶名是否被注冊;3,論壇系統中通過Ajax方式獲取用戶信息。第八講,PHP Web2.0網站實例開發 8.1 Web2.0風格的論壇系統開發;8.2 Web2.0風格的博客系統實戰開發。 實例:1,綜合DIV+CSS +PHP+MySQL+Ajax技術開發論壇; 2,綜合DIV+CSS +PHP+MySQL+Ajax技術開發博客系統。 第二階段第一講,PHP面向對象基礎 1.1 面向對象編程介紹;1.2 面向過程與面向對象的區別; 1.3 面向對象的基本特性;1.4 類、屬性和方法;1.5 構造函數;1.6 類的實例化;1.7 使用類的屬性和方法;1.8 類的訪問控制;1.9 類的繼承與多態;1.10 面向對象的接口及抽象類;1.11 類、對象及對象之間的關系;1.12 幾個常見的運算符和關鍵字。 實例:1,購物車對象關系設計; 2,班級、學生、課程、考試對象關系設計。第二講,PHP模板技術Smarty框架 2.1 Smarty模板技術介紹;2.2 Smarty安裝與配置; 2.3 Smarty 變量與變量修飾符;2.4 Smarty分支結構;2.5 Smarty循環......余下全文>>
 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved