PHP關於mysqli事務操作常用方法詳解

來源:互聯網
上載者:User
本文主要和大家介紹PHP mysqli事務操作常用方法,結合執行個體形式分析了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();?>

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.