一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

PHP中執(zhí)行MYSQL事務(wù)解決數(shù)據(jù)寫入不完整等情況

近來稍有時間研究了下MYSQL中的事務(wù)操作,在很多場合下很是適用,譬如在注冊的時候需要初始化很多張關(guān)聯(lián)表的時候,問答回復(fù)的時候需要至少同時操作兩張表,這些都會在某些時候只能成功更新一張表,而另外的SQL語句出現(xiàn)錯誤,正常的操作會導(dǎo)致初始化了一張表 ,其他的都木有能初始化,這個時候就會導(dǎo)致用戶表里的用戶信息已經(jīng)執(zhí)行插入,導(dǎo)致提示注冊失敗,但是用戶已經(jīng)注冊了部分信息,這個時候需要程序員去數(shù)據(jù)庫刪除相應(yīng)的數(shù)據(jù)是一個比較不好的事情。

因此這邊考慮使用事務(wù),事務(wù)可以進行模擬SQL操作,當(dāng)所有的SQL都操作成功的時候才進行SQL操作,只要有一個操作失敗就回滾當(dāng)前事務(wù)的所有SQL操作,避免出現(xiàn)上面描述中出現(xiàn)的數(shù)據(jù)寫入不完整等情況。

下面是鄙人寫的一小段代碼,歡迎大家參考和提出意見:
復(fù)制代碼 代碼如下:
/**
* @todo 多條sql的事務(wù)處理
* @param $sqls array
* @return boole true/false
*/
public function doArraySqlActionsTran($password,$sqls){
$db = $this -> doSqlLink($password);//打開數(shù)據(jù)庫鏈接
$db -> autocommit(FALSE);//設(shè)置為不自動提交,因為MYSQL默認(rèn)立即執(zhí)行
//獲取SQL執(zhí)行結(jié)果數(shù)組
for ($i=0;$i<count($sqls);$i++){
$result[$i] = $db -> query($sqls[$i]);
}
//解析SQL執(zhí)行結(jié)果數(shù)組
for ($j=0;$j<count($result);$j++){
if ($result[$j]==FALSE){
$result[$j]='false';
}else{
$result[$j]='true';
}
}
//查找SQL結(jié)果數(shù)組中是否存在false結(jié)果集
if (in_array('false',$result)){
$sqlResult=FALSE;
}else{
$sqlResult==TRUE;
}
//根據(jù)結(jié)果集進行數(shù)據(jù)庫回滾或者執(zhí)行操作
if ($sqlResult==FALSE){
$db -> rollback();//判斷當(dāng)執(zhí)行失敗時回滾
$return=FALSE;// 正式環(huán)境中使用
//$return='ROOLBACK';//test 標(biāo)記使用
}else{
$db -> commit();//執(zhí)行事務(wù)s
$return=TRUE;// 正式環(huán)境中使用
//$return='COMMIT';//test 標(biāo)記使用
}
$db->autocommit(true); //設(shè)置為非自動提交――事務(wù)處理
$db->close();//關(guān)閉連接
return $return;
}

到此事務(wù)執(zhí)行批量SQL操作基本完成,謝謝大家!

php技術(shù)PHP中執(zhí)行MYSQL事務(wù)解決數(shù)據(jù)寫入不完整等情況,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 国产成人亚洲综合91精品555 | 久久激情综合网 | 99久久精品免费视频 | 亚洲综合色婷婷久久 | 在线亚洲日产一区二区 | 国产在线精品国自产拍影院同性 | 一区二区三区视频网站 | 91中文字幕在线一区 | 色婷婷综合久久久久中文 | 午夜视频在线免费 | 91日韩视频 | 亚洲国产爱 | 亚洲性久久久影院 | 韩国一级毛片a级免观看 | 青青热在线精品视频免费 | 中文字幕在线视频在线看 | 91精品欧美一区二区三区 | 色婷婷影视 | 国产高清一区 | 激情文学小说区另类小说同性 | 国产午夜免费视频 | 精品无码久久久久久国产 | 国产精品久久一区二区三区 | 欧美卡一卡二卡新区aaa | 人妇乱理三级 | 午夜视频在线观看国产www | 国产成人综合视频 | 天天操天天干天天插 | 91热精品| 四虎免费在线视频 | 亚洲怡红院在线观看 | 五月四房播 | 日本韩国欧美在线 | 五月天国产精品 | 美女国产在线观看免费观看 | 五月婷亚洲 | 亚洲高清一区二区三区 | 色哟哟在线观看视频高清大全 | 国产精品第十页 | 久久精品道一区二区三区 | 久久精品国产99久久 |