天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

PHP中執行MYSQL事務解決數據寫入不完整等情況

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

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

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

到此事務執行批量SQL操作基本完成,謝謝大家!

php技術PHP中執行MYSQL事務解決數據寫入不完整等情況,轉載需保留來源!

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

主站蜘蛛池模板: 欧美一区二区三区免费播放 | 午夜一区欧美二区高清三区 | 97人摸人人澡人人人超一碰 | 中国老太性色xxxxxhd | 十大禁止安装的黄台有风险 | 学生妹被爆插到高潮无遮挡 | 最近的中文字幕免费完整 | 理论片午午伦夜理片2021 | 俄罗斯xxxxxbbbbb| 国产精品乱码色情一区二区视频 | 欧美乱子YELLOWVIDEO | 成人精品视频在线观看播放 | 无码成人AAAAA毛片含羞草 | 97午夜伦伦电影理论片 | 好男人视频免费高清在线观看www | 成年AV动漫 | japanese色系free日本 | 精品人妻一区二区三区视频53 | 入禽太深在线观看免费高清 | 色AV色婷婷96人妻久久久 | 伊人久久久久久久久久 | 中文字幕无码他人妻味 | 男男腐文污高干嗯啊快点1V1 | 午夜想想爱午夜剧场 | 真实国产熟睡乱子伦对白无套 | 精彩国产萝视频在线 | yy8090韩国理伦片在线 | 色jie戒电影| 亚洲在线无码免费观看 | 九九99热久久999精品 | 久久免费看少妇高潮A片JA | 99久久99久久精品国产片果冻 | 国产精品三级在线观看 | 亚洲AV久久无码精品九号 | 迅雷哥在线观看高清 | 啪啪激情婷婷久久婷婷色五月 | 最近中文字幕免费高清MV视频 | 91欧洲在线视精品在亚洲 | 午夜理论电影在线观看亚洲 | 高清国语自产拍在线 | 久久精品久久久 |