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 ) ; ?>