pbootcms网站模板|日韩1区2区|织梦模板||网站源码|日韩1区2区|jquery建站特效-html5模板网

<i id='PEmj0'><tr id='PEmj0'><dt id='PEmj0'><q id='PEmj0'><span id='PEmj0'><b id='PEmj0'><form id='PEmj0'><ins id='PEmj0'></ins><ul id='PEmj0'></ul><sub id='PEmj0'></sub></form><legend id='PEmj0'></legend><bdo id='PEmj0'><pre id='PEmj0'><center id='PEmj0'></center></pre></bdo></b><th id='PEmj0'></th></span></q></dt></tr></i><div class="zt3ceqk" id='PEmj0'><tfoot id='PEmj0'></tfoot><dl id='PEmj0'><fieldset id='PEmj0'></fieldset></dl></div>

      1. <legend id='PEmj0'><style id='PEmj0'><dir id='PEmj0'><q id='PEmj0'></q></dir></style></legend>
        <tfoot id='PEmj0'></tfoot>

        <small id='PEmj0'></small><noframes id='PEmj0'>

          <bdo id='PEmj0'></bdo><ul id='PEmj0'></ul>

        php mysqli 自動提交和回滾的正確使用

        Proper usage of php mysqli autocommit and rollback(php mysqli 自動提交和回滾的正確使用)

            <tbody id='ptTM3'></tbody>

          <tfoot id='ptTM3'></tfoot>
        1. <small id='ptTM3'></small><noframes id='ptTM3'>

          <i id='ptTM3'><tr id='ptTM3'><dt id='ptTM3'><q id='ptTM3'><span id='ptTM3'><b id='ptTM3'><form id='ptTM3'><ins id='ptTM3'></ins><ul id='ptTM3'></ul><sub id='ptTM3'></sub></form><legend id='ptTM3'></legend><bdo id='ptTM3'><pre id='ptTM3'><center id='ptTM3'></center></pre></bdo></b><th id='ptTM3'></th></span></q></dt></tr></i><div class="ozlctyb" id='ptTM3'><tfoot id='ptTM3'></tfoot><dl id='ptTM3'><fieldset id='ptTM3'></fieldset></dl></div>
          <legend id='ptTM3'><style id='ptTM3'><dir id='ptTM3'><q id='ptTM3'></q></dir></style></legend>

                • <bdo id='ptTM3'></bdo><ul id='ptTM3'></ul>
                • 本文介紹了php mysqli 自動提交和回滾的正確使用的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

                  問題描述

                  在正確使用 mysqli 自動提交時遇到問題.以下是查詢.

                  Having trouble with proper usage of mysqli autocommit. Below are the queries.

                  Table1 和 Table3 是 InnoDB 而 Table2 是 MyISAM

                  Table1 and Table3 are InnoDB while Table2 is MyISAM

                  表 2 和表 3 的值已正確插入,但表 1 的值未存儲.運行代碼時沒有出現錯誤.

                  Values to Table2 and Table3 are inserted properly but values to Table1 are not being stored. No errors occur while running the code.

                  $dbconnect->autocommit(false);
                  
                  $stmt = $dbconnect->prepare("INSERT INTO `table1`(`col1`,`col2`) VALUES (?,?)");
                  $stmt->bind_param('ss',$val1,$val2);
                  $stmt->execute();
                  $dbconnect->rollback();
                  
                  $stmt = $dbconnect->prepare("INSERT INTO `table2`(`col1`,`col2`) VALUES (?,?)");
                  $stmt->bind_param('ss',$val3,$val4);
                  $stmt->execute();
                  $dbconnect->rollback();
                  
                  $stmt = $dbconnect->prepare("INSERT INTO `table3`(`col1`,`col2`) VALUES (?,?)");
                  $stmt->bind_param('ss',$val5,$val6);
                  $stmt->execute();
                  
                  $dbconnect->commit();
                  

                  何時以及如何使用 autocommit(false) 和 rollback()?

                  When and how do you use autocommit(false) and rollback()?

                  推薦答案

                  當您有一系列 sql 語句必須一起執行以保持數據庫中的一致性時,您可以使用它.將調用 commit 視為在游戲中建立保存點.任何時候調用 rollback 都會撤消上一次提交之前所做的一切.

                  You use it when you have a series of sql statements that must be performed together to maintain consistency in your database. Think of calling commit as establishing a save point in a game. Anytime you call rollback you undo everything that was done up to the previous commit.

                  想象一下,您需要在發票表中保存發票,在invoice_details 表中保存詳細信息,在付款表中保存付款.為了保持一致性,您需要確保這些都完成了或沒有完成.如果您在何處添加發票和詳細信息,然后插入付款失敗,那么您的數據庫將處于不一致狀態.

                  Imagine a situation where you need to save an invoice in your invoice table, details in your invoice_details table and payments in your payments table. To maintain consistency you need to make sure that these are all done or none of them is done. If you where to add the invoice and the details and then there was a failure on inserting the payment then your database is left in an inconsistent state.

                  通常這是使用像這樣的 try/catch 塊來完成的:

                  Normally this is accomplished using a try/catch block like this:

                  try {
                      $dbconnect->autocommit(false);
                  
                      $stmt = $dbconnect->prepare("INSERT INTO `invoices`(`col1`,`col2`) VALUES (?,?)");
                      $stmt->bind_param('ss',$val1,$val2);
                      $stmt->execute();
                  
                      $stmt = $dbconnect->prepare("INSERT INTO `invoice_details`(`col1`,`col2`) VALUES (?,?)");
                      $stmt->bind_param('ss',$val3,$val4);
                      $stmt->execute();
                  
                      $stmt = $dbconnect->prepare("INSERT INTO `payments`(`col1`,`col2`) VALUES (?,?)");
                      $stmt->bind_param('ss',$val5,$val6);
                      $stmt->execute();
                  
                      $dbconnect->commit();
                  } catch(Exception $e){
                      // undo everything that was done in the try block in the case of a failure.
                      $dbconnect->rollback();
                  
                      // throw another exception to inform the caller that the insert group failed.
                      throw new StorageException("I couldn't save the invoice");
                  }
                  

                  這篇關于php mysqli 自動提交和回滾的正確使用的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!

                  【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!

                  相關文檔推薦

                  store_result() and get_result() in mysql returns false(mysql 中的 store_result() 和 get_result() 返回 false)
                  Call to undefined function mysqli_result::num_rows()(調用未定義的函數 mysqli_result::num_rows())
                  PHP Prepared Statement Problems(PHP 準備好的語句問題)
                  mysqli_fetch_array returning only one result(mysqli_fetch_array 只返回一個結果)
                  PHP MySQLi Multiple Inserts(PHP MySQLi 多次插入)
                  How do I make sure that values from MySQL keep their type in PHP?(如何確保 MySQL 中的值在 PHP 中保持其類型?)
                    <tbody id='Mqxpq'></tbody>

                          <small id='Mqxpq'></small><noframes id='Mqxpq'>

                        • <legend id='Mqxpq'><style id='Mqxpq'><dir id='Mqxpq'><q id='Mqxpq'></q></dir></style></legend>
                            <bdo id='Mqxpq'></bdo><ul id='Mqxpq'></ul>

                            <i id='Mqxpq'><tr id='Mqxpq'><dt id='Mqxpq'><q id='Mqxpq'><span id='Mqxpq'><b id='Mqxpq'><form id='Mqxpq'><ins id='Mqxpq'></ins><ul id='Mqxpq'></ul><sub id='Mqxpq'></sub></form><legend id='Mqxpq'></legend><bdo id='Mqxpq'><pre id='Mqxpq'><center id='Mqxpq'></center></pre></bdo></b><th id='Mqxpq'></th></span></q></dt></tr></i><div class="288ctrd" id='Mqxpq'><tfoot id='Mqxpq'></tfoot><dl id='Mqxpq'><fieldset id='Mqxpq'></fieldset></dl></div>

                          • <tfoot id='Mqxpq'></tfoot>
                            主站蜘蛛池模板: 列管冷凝器,刮板蒸发器,外盘管反应釜厂家-无锡曼旺化工设备有限公司 | LZ-373测厚仪-华瑞VOC气体检测仪-个人有毒气体检测仪-厂家-深圳市深博瑞仪器仪表有限公司 | 焊缝跟踪系统_激光位移传感器_激光焊缝跟踪传感器-创想智控 | 德州网站制作 - 网站建设设计 - seo排名优化 -「两山建站」 | 三效蒸发器_多效蒸发器价格_四效三效蒸发器厂家-青岛康景辉 | 压滤机滤板_厢式_隔膜_板框压滤机滤板厂家价格型号材质-大凯环保 | ICP备案查询_APP备案查询_小程序备案查询 - 备案巴巴 | 排烟防火阀-消防排烟风机-正压送风口-厂家-价格-哪家好-德州鑫港旺通风设备有限公司 | 压片机_高速_单冲_双层_花篮式_多功能旋转压片机-上海天九压片机厂家 | 电动卫生级调节阀,电动防爆球阀,电动软密封蝶阀,气动高压球阀,气动对夹蝶阀,气动V型调节球阀-上海川沪阀门有限公司 | 哈尔滨治「失眠/抑郁/焦虑症/精神心理」专科医院排行榜-京科脑康免费咨询 一对一诊疗 | 民用音响-拉杆音响-家用音响-ktv专用音响-万昌科技 | 南京精锋制刀有限公司-纵剪机刀片_滚剪机刀片_合金刀片厂家 | app开发|app开发公司|小程序开发|物联网开发||北京网站制作|--前潮网络 | 电缆故障测试仪_电缆故障定位仪_探测仪_检测仪器_陕西意联电气厂家 | 耳模扫描仪-定制耳机设计软件-DLP打印机-asiga打印机-fitshape「飞特西普」 | PCB设计,PCB抄板,电路板打样,PCBA加工-深圳市宏力捷电子有限公司 | 薪动-人力资源公司-灵活用工薪资代发-费用结算-残保金优化-北京秒付科技有限公司 | 999范文网_优质范文下载写作帮手 | 北京包装设计_标志设计公司_包装设计公司-北京思逸品牌设计 | 湖南自考_湖南自学考试| 合肥通道闸-安徽车牌识别-人脸识别系统厂家-安徽熵控智能技术有限公司 | 进口试验机价格-进口生物材料试验机-西安卡夫曼测控技术有限公司 | 天命文免费算命堂_自助算命_自由算命系统_长文周易 | 半容积式换热器_北京浮动盘管换热器厂家|北京亿丰上达 | hdpe土工膜-防渗膜-复合土工膜-长丝土工布价格-厂家直销「恒阳新材料」-山东恒阳新材料有限公司 ETFE膜结构_PTFE膜结构_空间钢结构_膜结构_张拉膜_浙江萬豪空间结构集团有限公司 | 泥沙分离_泥沙分离设备_泥砂分离机_洛阳隆中重工机械有限公司 | 亮点云建站-网站建设制作平台| 东莞螺杆空压机_永磁变频空压机_节能空压机_空压机工厂批发_深圳螺杆空压机_广州螺杆空压机_东莞空压机_空压机批发_东莞空压机工厂批发_东莞市文颖设备科技有限公司 | 卧涛科技有限公司科技项目申报公司|高新技术企业申报|专利申请 | 食品机械专用传感器-落料放大器-低价接近开关-菲德自控技术(天津)有限公司 | 菏泽知彼网络科技有限公司| 阳光模拟试验箱_高低温试验箱_高低温冲击试验箱_快速温变试验箱|东莞市赛思检测设备有限公司 | 招商帮-一站式网络营销服务|互联网整合营销|网络推广代运营|信息流推广|招商帮企业招商好帮手|搜索营销推广|短视视频营销推广 | 志高装潢官网-苏州老房旧房装修改造-二手房装修翻新 | 蒸汽热收缩机_蒸汽发生器_塑封机_包膜机_封切收缩机_热收缩包装机_真空机_全自动打包机_捆扎机_封箱机-东莞市中堡智能科技有限公司 | 登车桥动力单元-非标液压泵站-非标液压系统-深圳市三好科技有限公司 | 压力变送器-上海武锐自动化设备有限公司 | 接地电阻测试仪[厂家直销]_电缆故障测试仪[精准定位]_耐压测试仪-武汉南电至诚电力设备 | 氧化锆陶瓷_氧化锆陶瓷加工_氧化锆陶瓷生产厂家-康柏工业陶瓷有限公司 | 储气罐,真空罐,缓冲罐,隔膜气压罐厂家批发价格,空压机储气罐规格型号-上海申容压力容器集团有限公司 |