要實(shí)現(xiàn)本功能的條件是環(huán)境 mysql 5.2 /php 5 支持事務(wù)的table 類型,需要InnoDB,有了這些條件你就可以做上面的實(shí)現(xiàn)了,這個(gè)事物回滾操作是大項(xiàng)目經(jīng)常用到的,像銀行,電子商務(wù)等都會(huì)用到,有需要的朋友可以參考一下.
近期項(xiàng)目軟件升級(jí)到支持事務(wù)處理,做個(gè)示例供大家學(xué)習(xí)參考.
環(huán)境 mysql 5.2 /php 5
支持事務(wù)的table 類型 需要InnoDB
php mysql 事務(wù)處理實(shí)現(xiàn)程序代碼如下:
- <?PHP
- $LinkID =mysql_connect('localhost:3307','root',*******);
- mysql_select_db('web_his',$LinkID);
- mysql_query("set names utf8");
- /* 創(chuàng)建事務(wù) */
- mysql_query('START TRANSACTION') or exit(mysql_error());
- $ssql1="insert into pf_item values('22','我們','30')"; //執(zhí)行sql 1
- if(!mysql_query($ssql1)){
- echo $ssql1.mysql_errno().":".mysql_error()."<br>";
- mysql_query('ROLLBACK') or exit(mysql_error());//判斷當(dāng)執(zhí)行失敗時(shí)回滾
- exit;
- }
- $ssql1="insert into pf_item values('21','hell','10')"; //執(zhí)行sql 2
- if(!mysql_query($ssql1)){//開源代碼Vevb.com
- echo $ssql1.mysql_errno().":".mysql_error()."<br>";
- mysql_query('ROLLBACK') or exit(mysql_error());//判斷當(dāng)執(zhí)行失敗時(shí)回滾
- exit;
- }
- mysql_query('COMMIT') or exit(mysql_error());//執(zhí)行事務(wù)
- mysql_close($LinkID);
- ?>
新聞熱點(diǎn)
疑難解答