本文實例講述了PHP mysqli事務操作常用方法。分享給大家供大家參考,具體如下:
1、
//打開(true)或關閉(false)本次數據庫連接的自動命令提交事務模式 //參數如果設置為 FALSE,則表示關閉 auto-commit。如果設置為 TRUE,則表示開啟 auto-commit(提交任何等待查詢)。 bool mysqli::autocommit ( bool $mode )
2、
//回退當前事務 bool mysqli::rollback ()
3、
//提交一個事務 bool mysqli::commit ()
4、
//關閉先前打開的數據庫連接 bool mysqli::close ()
5、
//對數據庫執行一次查詢 //失敗時返回 FALSE,通過mysqli_query() 成功執行SELECT, SHOW, DESCRIBE或 EXPLAIN查詢會返回一個mysqli_result 對象,其他查詢則返回TRUE //參數$resultmode可選。一個常量??梢允窍铝兄抵械娜我庖粋€: //MYSQLI_USE_RESULT(如果需要檢索大量數據,請使用這個) //MYSQLI_STORE_RESULT(默認) mixed mysqli::query ( string $query [, int $resultmode = MYSQLI_STORE_RESULT ] )
代碼示例:
<?php $mysqli = new mysqli("127.0.0.1","root","111111","test"); if ($mysqli->connect_errno){ echo "Failed to connect to MySQL: " . $mysqli->connect_error; } //默認auto-commit 是打開的,可直接提交sql語句 $b1 = $mysqli->query("INSERT INTO test (id,name) values (0,'000')"); //若要執行事務,先關閉auto-commit //關閉 auto-commit $mysqli->autocommit(false); $res1 = $mysqli->query("INSERT INTO test (id,n1ame) values (1,'111')"); $b2 = $mysqli->query("INSERT INTO test (id,name) values (2,'222')"); //有一條失敗則回滾,全部成功則提交 if(!$res1 || !$b2){ echo '回滾!'; $mysqli->rollback(); } else { echo '提交!'; $mysqli->commit(); } //若想再次自動提交非事務語句,要打開auto-commit $mysqli->autocommit(true); $b3 = $mysqli->query("INSERT INTO test (id,name) values (3,'333')"); //關閉連接 $mysqli->close(); ?>
更多關于PHP相關內容感興趣的讀者可查看本站專題:《php+mysqli數據庫程序設計技巧總結》、《php面向對象程序設計入門教程》、《PHP數組(Array)操作技巧大全》、《PHP基本語法入門教程》、《php字符串(string)用法總結》、《php+mysql數據庫操作入門教程》及《php常見數據庫操作技巧匯總》
希望本文所述對大家PHP程序設計有所幫助。
【網站聲明】本站除付費源碼經過測試外,其他素材未做測試,不保證完整性,網站上部分源碼僅限學習交流,請勿用于商業用途。如損害你的權益請聯系客服QQ:2655101040 給予處理,謝謝支持。