很简单的一个事物回滚,简单介绍下事物回滚,示例怎么使用Thinkphp的回滚。下面上俩个由浅入深的例子。会给你帮助理解,和提升。
//具体的讲解请允许我把它放在了 http://www.ichasem.com/?p=331 这里
1、开启事务方法 startTrans()
2、事务提交方法 commit()
3、事务回滚方法 rollback()
用法例子:$order = M(‘order’);<br>
$allAdded = true; //先设定一个值为 true;<br>
$data['name'] = 'winter';<br>
$order->startTrans(); //开启事物<br>
for($i = 1;$i
$sign = $order->add($data); //添加一条数据到order表<br>
if(!$sign){<br>
$order->rollback(); //如果order添加失败事物回滚<br>
$allAdded = false; //并且把allAdded设置为 false<br>
}<br>
}<br>
<br>
//回滚<br>
if($allAdded){<br>
$order->commit(); <br>
// 如果allAdded为真则两条数据都成功;那么 commit事物提交<br>
echo '添加成功';<br>
}else{<br>
echo '添加失败';<br>
}
小解析:如果commit了。那么就提交插入数据。如果发现alladded为假说明有条数据没插入正确。那么就rollback回滚就会取消事物开启之后操作数据库的所有行为。
winter在提供一个例子助于大家加深理解~public function insertdata(){<br>
$model = M();<br>
$model->startTrans();<br>
$data['name'] = 'winter';<br>
//增加一条用户信息<br>
$si = $model->table(C('DB_PREFIX').'user')->add($data);<br>
if(!$si){<br>
$model->rollback();<br>
exit();<br>
}<br>
$car['brand'] = $si;<br>
//增加一条用户id<br>
<br>
$c = $model->table(C('DB_PREFIX').'car')->add($car);<br>
if($si && $c){<br>
$model->commit();<br>
}else{<br>
$model->rollback();<br>
}<br>
}
AD:真正免费,域名+虚机+企业邮箱=0元

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

mPDF
mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

PhpStorm Mac 版本
最新(2018.2.1 )專業的PHP整合開發工具

SublimeText3 英文版
推薦:為Win版本,支援程式碼提示!