當前位置: 首頁> 函數類別大全> mysqli::rollback

mysqli::rollback

(mysqli_rollback)回滾當前事務
名稱:mysqli::rollback
分類:mysqli
所屬語言:php
一句話介紹:回滾數據庫的當前事務。

定義和用法

rollback() / mysqli_rollback()函數回滾指定數據庫連接的當前事務。

提示:還可以查看commit()函數,它提交當前事務;以及autocommit()函數,它開啟或關閉自動提交數據庫修改。

實例

例子1 - 面向對像風格

關閉自動提交,執行一些查詢,提交查詢,然後回滾當前事務:

 <?php
$mysqli = new mysqli ( "localhost" , "my_user" , "my_password" , "my_db" ) ;

if ( $mysqli -> connect_errno ) {
  echo "Failed to connect to MySQL: " . $mysqli -> connect_error ;
  exit ( ) ;
}

// 關閉自動提交
$mysqli -> autocommit ( FALSE ) ;

// 插入一些值
$mysqli -> query ( "INSERT INTO Persons (FirstName,LastName,Age)
VALUES ('Peter','Griffin',35)" ) ;
$mysqli -> query ( "INSERT INTO Persons (FirstName,LastName,Age)
VALUES ('Glenn','Quagmire',33)" ) ;

// 提交事務
if ( ! $mysqli -> commit ( ) ) {
  echo "Commit transaction failed" ;
  exit ( ) ;
}

// 回滾事務
$mysqli -> rollback ( ) ;

$mysqli -> close ( ) ;
?>

例子2 - 過程式風格

關閉自動提交,執行一些查詢,提交查詢,然後回滾當前事務:

 <?php
$con = mysqli_connect ( "localhost" , "my_user" , "my_password" , "my_db" ) ;

if ( mysqli_connect_errno ( ) ) {
  echo "Failed to connect to MySQL: " . mysqli_connect_error ( ) ;
  exit ;
}

// 關閉自動提交
mysqli_autocommit ( $con , FALSE ) ;

// 插入一些值
mysqli_query ( $con , "INSERT INTO Persons (FirstName,LastName,Age)
VALUES ('Peter','Griffin',35)" ) ;
mysqli_query ( $con , "INSERT INTO Persons (FirstName,LastName,Age)
VALUES ('Glenn','Quagmire',33)" ) ;

// 提交事務
if ( ! mysqli_commit ( $con ) ) {
  echo "Commit transaction failed" ;
  exit ( ) ;
}

// 回滾事務
mysqli_rollback ( $con ) ;

// 關閉連接
mysqli_close ( $con ) ;
?>
同類函數
熱門文章