
PDO::rollBack 함수는 데이터베이스 트랜잭션을 취소하는 데 사용할 수 있습니다.
이 함수를 사용한 후 데이터베이스의 상태를 확인할 수 있는 방법은 다음과 같습니다.
- PDO::rollBack 함수를 사용한 후, 데이터베이스의 트랜잭션 상태를 확인할 수 있습니다. PDO::rollBack 함수를 사용한 후, 데이터베이스의 트랜잭션 상태는 롤백 상태가 됩니다.
- 데이터베이스의 트랜잭션 상태를 확인하기 위해 PDO::inTransaction 함수를 사용할 수 있습니다. PDO::inTransaction 함수는 현재 데이터베이스 트랜잭션 상태를 반환합니다.
예를 들어, 다음 코드를 보겠습니다.
#hostingforum.kr
php
$db = new PDO('mysql:host=localhost;dbname=mydb', 'username', 'password');
$db->beginTransaction();
// 데이터베이스 작업을 수행합니다.
$db->exec('INSERT INTO mytable (name, age) VALUES ("John", 25)');
// 에러가 발생합니다.
$db->exec('INSERT INTO mytable (name, age) VALUES ("Jane", 30)'); // 에러가 발생하는 코드
// 에러를 처리하기 위해 PDO::rollBack 함수를 사용합니다.
$db->rollBack();
// 데이터베이스의 트랜잭션 상태를 확인합니다.
if ($db->inTransaction()) {
echo "현재 데이터베이스 트랜잭션 상태: 롤백 상태";
} else {
echo "현재 데이터베이스 트랜잭션 상태: 트랜잭션 없음";
}
PDO::rollBack 함수를 사용한 후 다시 데이터베이스 트랜잭션을 시작할 수 있는 방법은 다음과 같습니다.
- PDO::rollBack 함수를 사용한 후, 데이터베이스의 트랜잭션 상태를 초기화할 수 있습니다. PDO::rollBack 함수를 사용한 후, 데이터베이스의 트랜잭션 상태를 초기화하기 위해 PDO::commit 함수를 사용할 수 있습니다.
예를 들어, 다음 코드를 보겠습니다.
#hostingforum.kr
php
$db = new PDO('mysql:host=localhost;dbname=mydb', 'username', 'password');
$db->beginTransaction();
// 데이터베이스 작업을 수행합니다.
$db->exec('INSERT INTO mytable (name, age) VALUES ("John", 25)');
// 에러가 발생합니다.
$db->exec('INSERT INTO mytable (name, age) VALUES ("Jane", 30)'); // 에러가 발생하는 코드
// 에러를 처리하기 위해 PDO::rollBack 함수를 사용합니다.
$db->rollBack();
// 데이터베이스의 트랜잭션 상태를 초기화합니다.
$db->commit();
// 다시 데이터베이스 트랜잭션을 시작합니다.
$db->beginTransaction();
PDO::rollBack 함수를 사용한 후 다시 데이터베이스 트랜잭션을 시작할 수 있습니다.
2025-08-13 01:11