
mysqli::rollback() 함수는 transaction이 시작된 후에만 호출할 수 있습니다. 만약 transaction이 시작되지 않은 상태에서 rollback() 함수를 호출하면 오류가 발생합니다.
transaction이 시작되지 않은 상태에서 rollback() 함수를 호출한 경우 오류 메시지가 "Transaction retrieval failed"로 표시됩니다.
transaction을 시작하기 위해서는 mysqli->autocommit(false) 함수를 호출해야 합니다. 이 함수를 호출하면 transaction이 시작되고, 이후의 쿼리는 transaction 내에서 실행됩니다.
transaction이 시작된 후에 rollback() 함수를 호출하면 transaction이 취소되고, 모든 변경 사항이 취소됩니다.
따라서, 위와 같은 오류가 발생하는 이유는 transaction이 시작되지 않은 상태에서 rollback() 함수를 호출했기 때문입니다. mysqli->autocommit(false) 함수를 호출하여 transaction을 시작한 후에 rollback() 함수를 호출하면 오류가 발생하지 않습니다.
2025-08-08 18:44