国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - PHP教程 - php的PDO事務處理機制實例分析

php的PDO事務處理機制實例分析

2021-04-23 15:48水晶依戀 PHP教程

這篇文章主要介紹了php的PDO事務處理機制,結合實例形式分析了事務的原理、功能及PDO處理事務的具體操作步驟與實現技巧,需要的朋友可以參考下

本文實例講述了phpPDO事務處理機制。分享給大家供大家參考,具體如下:

事務 (Transaction) 是操作數據庫中很重要的一個功能, 它可以讓你預定一條, 或者一系列 SQL 語句, 然后一起執行,并且在執行的過程中, 如果其中的某條執行失敗, 可以回滾所有已更改的操作. 如果執行成功, 那么這一系列操作都會永久有效. 事務很好的解決了在操作數據庫的時候不同步的問題. 同時, 通過事務去執行大數據量的時候, 執行效率可以提高很多很多.

在PDO中同樣可以實現事物處理的功能

1. 開啟事物:beginTransaction()方法

beginTransaction()方法將關閉自動提交(autocommit)模式,直到事物被提交或者回滾以后才恢復

2. 提交事物:commit()方法

commit()方法完成事物的提交操作,成功則返回true,否則返回false。

3. 事物回滾:rollBack()方法

rollBack()方法執行事物的回滾操作。

例如:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
$dbms='mysql';//數據庫類型
$dbName='admin';//使用的數據庫
$user='root';//數據庫連接用戶名
$pwd='password';//數據庫連接密碼
$host='localhost';//數據庫主機名
$dsn="$dbms:host=$host;port=3306;dbname=$dbName";
try {
 $pdo = new PDO($dsn, $user, $pwd);//初始化一個PDO對象,就是創建了數據庫連接對象$pdo
 $pdo->beginTransaction();//開啟事物
 $query = "insert into user (username,password) values('admin','123456')";//需要執行的sql語句
 $res = $pdo->prepare($query);
 if ($res->execute()) {
  echo "數據添加成功";
 }else{
  echo "數據添加失敗";
 }
 $pdo->commit();//執行事物的提交操作
}catch(PDOException $e){
 die("Error!: ".$e->getMessage().'<br>');
 $pdo->rollBack();//執行事物的回滾操作
}

補充:

數據庫事務(Database Transaction) ,是指作為單個邏輯工作單元執行的一系列操作,要么完全地執行,要么完全地不執行。

事務處理可以確保除非事務性單元內的所有操作都成功完成,否則不會永久更新面向數據的資源。通過將一組相關操作組合為一個要么全部成功要么全部失敗的單 元,可以簡化錯誤恢復并使應用程序更加可靠。一個邏輯工作單元要成為事務,必須滿足所謂的ACID(原子性、一致性、隔離性和持久性)屬性。

事務是數據庫運行中的一個邏輯工作單位,由DBMS中的事務管理子系統負責事務的處理。

相關屬性:

① 原子性(Atomic)(Atomicity)

事務必須是原子工作單元;對于其數據修改,要么全都執行,要么全都不執行。通常,與某個事務關聯的操作具有共同的目標,并且是相互依賴的。如果系統只執行這些操作的一個子集,則可能會破壞事務的總體目標。原子性消除了系統處理操作子集的可能性。

② 一致性(Consistent)(Consistency)

事務在完成時,必須使所有的數據都保持一致狀態。在相關數據庫中,所有規則都必須應用于事務的修改,以保持所有數據的完整性。事務結束時,所有的內部數 據結構(如 B 樹索引或雙向鏈表)都必須是正確的。某些維護一致性的責任由應用程序開發人員承擔,他們必須確保應用程序已強制所有已知的完整性約束。例如,當開發用于轉 帳的應用程序時,應避免在轉帳過程中任意移動小數點。

③ 隔離性(Insulation)(Isolation)

由并發事務所作的修 改必須與任何其它并發事務所作的修改隔離。事務查看數據時數據所處的狀態,要么是另一并發事務修改它之前的狀態,要么是另一事務修改它之后的狀態,事務不 會查看中間狀態的數據。這稱為隔離性,因為它能夠重新裝載起始數據,并且重播一系列事務,以使數據結束時的狀態與原始事務執行的狀態相同。當事務可序列化 時將獲得最高的隔離級別。在此級別上,從一組可并行執行的事務獲得的結果與通過連續運行每個事務所獲得的結果相同。由于高度隔離會限制可并行執行的事務 數,所以一些應用程序降低隔離級別以換取更大的吞吐量。

④ 持久性(Duration)(Durability)

事務完成之后,它對于系統的影響是永久性的。該修改即使出現致命的系統故障也將一直保持。

希望本文所述對大家PHP程序設計有所幫助。

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 亚洲一区二区国产 | 欧美一区二区小视频 | 午夜精品网站 | 亚洲蜜桃精久久久久久久 | 欧美日本一区二区三区 | 欧美精品成人一区二区三区四区 | 久久亚洲国产 | 98成人网 | 欧美天堂一区二区三区 | 亚州中文字幕 | 一级片在线播放 | 婷婷精品久久久久久久久久不卡 | 一级片免费视频 | 欧美日韩国产一区二区三区在线观看 | 中文字幕亚洲一区二区三区 | 国产一区二区久久 | 男人午夜视频在线观看 | 成人免费一区二区三区视频软件 | 精品一区二区电影 | 亚洲精品久久久久久国产 | 综合精品 | 精品在线播放 | 国产乱码精品一区二区三区中文 | 欧洲精品一区 | 日韩精品一区二区三区中文字幕 | 一区二区三区久久久久久 | 欧美美女爱爱 | 日本中文字幕免费 | 九九综合| 亚洲成人免费观看 | 成人3d动漫一区二区三区91 | 中文字幕在线观看第一页 | 观看av| 国精品一区| 玖玖精品视频 | 毛片久久久久久 | 亚洲国产成人av | www.国产精| 国产精品女同一区二区久久夜 | 日本在线黄色 | 精品久久久av |