mysqli::rollback
(mysqli_rollback)ロールバック現在のトランザクション
rollback() / mysqli_rollback()関数は、指定されたデータベース接続の現在のトランザクションをロールバックします。
ヒント:現在のトランザクションをコミットするcommit()関数を表示することもできます。また、データベース変更の自動提出を有効またはオフにするautocommit()関数。
自動コミットをオフにし、クエリを実行し、クエリを送信してから、現在のトランザクションをロールバックします。
<?php
$ mysqli = new mysqli ( "localhost" 、 "my_user" 、 "my_password" 、 "my_db" ) ;
if ( $ mysqli- > connect_errno ) {
エコー「MySQLに接続できなかった:」 。 $ mysqli- > connect_error ;
出口( ) ;
}
//自動送信をオフにします
$ mysqli- > autocommit ( false ) ;
//いくつかの値を挿入します
$ mysqli- > query ( "人に挿入(firstName、lastName、age)
値( 'Peter'、 'Griffin'、35) " ) ;
$ mysqli- > query ( "人に挿入(firstName、lastName、age)
値( 'glenn'、 'quagmire'、33) " ) ;
//トランザクションを送信します
if ( ! $ mysqli- > compid ( ) ) {
エコー「トランザクションのコミットフェイズが失敗しました」 ;
出口( ) ;
}
//トランザクションをロールバックします
$ mysqli- > rollback ( ) ;
$ mysqli- > close ( ) ;
?>
自動コミットをオフにし、クエリを実行し、クエリを送信してから、現在のトランザクションをロールバックします。
<?php
$ con = mysqli_connect ( "localhost" 、 "my_user" 、 "my_password" 、 "my_db" ) ;
if ( mysqli_connect_errno ( ) ) {
エコー「MySQLに接続できなかった:」 。 mysqli_connect_error ( ) ;
出口;
}
//自動送信をオフにします
mysqli_autocommit ( $ con 、 false ) ;
//いくつかの値を挿入します
mysqli_query ( $ con 、 "insertingine persons(firstname、lastname、age)
値( 'Peter'、 'Griffin'、35) " ) ;
mysqli_query ( $ con 、 "insertingine persons(firstname、lastname、age)
値( 'glenn'、 'quagmire'、33) " ) ;
//トランザクションを送信します
if ( ! mysqli_commit ( $ con ) ) {
エコー「トランザクションのコミットフェイズが失敗しました」 ;
出口( ) ;
}
//トランザクションをロールバックします
mysqli_rollback ( $ con ) ;
//接続を閉じます
mysqli_close ( $ con ) ;
?>