mysqli::rollback
(mysqli_rollback) 현재 트랜잭션 롤백
rollback()
/ mysqli_rollback()
함수는 지정된 데이터베이스 연결의 현재 트랜잭션을 롤백합니다.
팁 : 현재 트랜잭션을 저지르는 commit()
함수를 볼 수도 있습니다. 그리고 데이터베이스 수정의 자동 제출을 가능하게하거나 끄는 autocommit()
함수.
자동 커밋을 끄고, 일부 쿼리를 실행하고, 쿼리를 제출 한 다음, 현재 트랜잭션을 롤백하십시오.
<? php $ mysqli = new mysqli ( "localhost" , "my_user" , "my_password" , "my_db" ) ; if ( $ mysqli- > connect_errno ) { Echo "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- > commit ( ) ) { 에코 "커밋 거래 실패" ; 출구 ( ) ; } // 트랜잭션을 롤백합니다 $ mysqli- > rollback ( ) ; $ mysqli- > close ( ) ; ?>
자동 커밋을 끄고, 일부 쿼리를 실행하고, 쿼리를 제출 한 다음, 현재 트랜잭션을 롤백하십시오.
<? php $ con = mysqli_connect ( "localhost" , "my_user" , "my_password" , "my_db" ) ; if ( mysqli_connect_errno ( ) ) { Echo "MySQL에 연결하지 못했습니다 :" . mysqli_connect_error ( ) ; 출구 ; } // 자동 제출을 끄십시오 mysqli_autocommit ( $ con , false ) ; // 값을 삽입하십시오 mysqli_query ( $ con , "사람에 삽입 (FirstName, LastName, Age) 값 ( 'Peter', 'Griffin', 35) " ) ; mysqli_query ( $ con , "사람에 삽입 (FirstName, LastName, Age) 값 ( 'Glenn', 'Quagmire', 33) " ) ; // 트랜잭션 제출 if ( ! mysqli_commit ( $ con ) ) { 에코 "커밋 거래 실패" ; 출구 ( ) ; } // 트랜잭션을 롤백합니다 mysqli_rollback ( $ con ) ; // 연결을 닫습니다 mysqli_close ( $ con ) ; ?>