真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

php中PDO事務(wù)處理機(jī)制的示例分析-創(chuàng)新互聯(lián)

這篇文章給大家分享的是有關(guān)php中PDO事務(wù)處理機(jī)制的示例分析的內(nèi)容。小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過(guò)來(lái)看看吧。

十年的懷來(lái)網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。營(yíng)銷型網(wǎng)站建設(shè)的優(yōu)勢(shì)是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整懷來(lái)建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無(wú)論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。創(chuàng)新互聯(lián)公司從事“懷來(lái)網(wǎng)站設(shè)計(jì)”,“懷來(lái)網(wǎng)站推廣”以來(lái),每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。

具體如下:

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

在PDO中同樣可以實(shí)現(xiàn)事物處理的功能

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

beginTransaction()方法將關(guān)閉自動(dòng)提交(autocommit)模式,直到事物被提交或者回滾以后才恢復(fù)

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

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

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

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

例如:

$dbms='mysql';//數(shù)據(jù)庫(kù)類型
$dbName='admin';//使用的數(shù)據(jù)庫(kù)
$user='root';//數(shù)據(jù)庫(kù)連接用戶名
$pwd='password';//數(shù)據(jù)庫(kù)連接密碼
$host='localhost';//數(shù)據(jù)庫(kù)主機(jī)名
$dsn="$dbms:host=$host;port=3306;dbname=$dbName";
try {
 $pdo = new PDO($dsn, $user, $pwd);//初始化一個(gè)PDO對(duì)象,就是創(chuàng)建了數(shù)據(jù)庫(kù)連接對(duì)象$pdo
 $pdo->beginTransaction();//開啟事物
 $query = "insert into user (username,password) values('admin','123456')";//需要執(zhí)行的sql語(yǔ)句
 $res = $pdo->prepare($query);
 if ($res->execute()) {
  echo "數(shù)據(jù)添加成功";
 }else{
  echo "數(shù)據(jù)添加失敗";
 }
 $pdo->commit();//執(zhí)行事物的提交操作
}catch(PDOException $e){
 die("Error!: ".$e->getMessage().'
');  $pdo->rollBack();//執(zhí)行事物的回滾操作 }

補(bǔ)充:

數(shù)據(jù)庫(kù)事務(wù)(Database Transaction) ,是指作為單個(gè)邏輯工作單元執(zhí)行的一系列操作,要么完全地執(zhí)行,要么完全地不執(zhí)行。

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

事務(wù)是數(shù)據(jù)庫(kù)運(yùn)行中的一個(gè)邏輯工作單位,由DBMS中的事務(wù)管理子系統(tǒng)負(fù)責(zé)事務(wù)的處理。

相關(guān)屬性:

① 原子性(Atomic)(Atomicity)

事務(wù)必須是原子工作單元;對(duì)于其數(shù)據(jù)修改,要么全都執(zhí)行,要么全都不執(zhí)行。通常,與某個(gè)事務(wù)關(guān)聯(lián)的操作具有共同的目標(biāo),并且是相互依賴的。如果系統(tǒng)只執(zhí)行這些操作的一個(gè)子集,則可能會(huì)破壞事務(wù)的總體目標(biāo)。原子性消除了系統(tǒng)處理操作子集的可能性。

② 一致性(Consistent)(Consistency)

事務(wù)在完成時(shí),必須使所有的數(shù)據(jù)都保持一致狀態(tài)。在相關(guān)數(shù)據(jù)庫(kù)中,所有規(guī)則都必須應(yīng)用于事務(wù)的修改,以保持所有數(shù)據(jù)的完整性。事務(wù)結(jié)束時(shí),所有的內(nèi)部數(shù) 據(jù)結(jié)構(gòu)(如 B 樹索引或雙向鏈表)都必須是正確的。某些維護(hù)一致性的責(zé)任由應(yīng)用程序開發(fā)人員承擔(dān),他們必須確保應(yīng)用程序已強(qiáng)制所有已知的完整性約束。例如,當(dāng)開發(fā)用于轉(zhuǎn) 帳的應(yīng)用程序時(shí),應(yīng)避免在轉(zhuǎn)帳過(guò)程中任意移動(dòng)小數(shù)點(diǎn)。

③ 隔離性(Insulation)(Isolation)

由并發(fā)事務(wù)所作的修 改必須與任何其它并發(fā)事務(wù)所作的修改隔離。事務(wù)查看數(shù)據(jù)時(shí)數(shù)據(jù)所處的狀態(tài),要么是另一并發(fā)事務(wù)修改它之前的狀態(tài),要么是另一事務(wù)修改它之后的狀態(tài),事務(wù)不 會(huì)查看中間狀態(tài)的數(shù)據(jù)。這稱為隔離性,因?yàn)樗軌蛑匦卵b載起始數(shù)據(jù),并且重播一系列事務(wù),以使數(shù)據(jù)結(jié)束時(shí)的狀態(tài)與原始事務(wù)執(zhí)行的狀態(tài)相同。當(dāng)事務(wù)可序列化 時(shí)將獲得高的隔離級(jí)別。在此級(jí)別上,從一組可并行執(zhí)行的事務(wù)獲得的結(jié)果與通過(guò)連續(xù)運(yùn)行每個(gè)事務(wù)所獲得的結(jié)果相同。由于高度隔離會(huì)限制可并行執(zhí)行的事務(wù) 數(shù),所以一些應(yīng)用程序降低隔離級(jí)別以換取更大的吞吐量。

④ 持久性(Duration)(Durability)

事務(wù)完成之后,它對(duì)于系統(tǒng)的影響是永久性的。該修改即使出現(xiàn)致命的系統(tǒng)故障也將一直保持。

感謝各位的閱讀!關(guān)于“php中PDO事務(wù)處理機(jī)制的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!


分享標(biāo)題:php中PDO事務(wù)處理機(jī)制的示例分析-創(chuàng)新互聯(lián)
URL鏈接:http://weahome.cn/article/dspdch.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部