PDO::commit은 트랜잭션을 커밋합니다(PHP 5 >= 5.1.0, PECL pdo >= 0.1.0).
bool PDO::커밋( 무효 )
트랜잭션을 커밋하면 다음 번에 PDO::beginTransaction()을 호출하여 새 트랜잭션을 시작할 때까지 데이터베이스 연결이 자동 커밋 모드로 돌아갑니다.
<?php/* 트랜잭션 시작 및 자동 커밋 끄기 */$dbh->beginTransaction();/* 전부 아니면 전무 방식으로(모두 또는 전혀) 여러 레코드 행 삽입 */$ sql = '과일에 삽입(이름, 색상, 칼로리) 값(?, ?, ?)';$sth = $dbh->prepare($sql);foreach($fruits를 $fruit로) { $sth->execute(array( $fruit->name, $fruit->color, $fruit->칼로리, ));}/* 변경 사항 커밋*/$dbh->commit();/* 이제 연결 데이터베이스 자동 커밋 모드로 돌아가기*/?>
<?php/* 트랜잭션 시작 및 자동 제출 끄기 */$dbh->beginTransaction();/* 데이터베이스 스키마 변경 */$sth = $dbh->exec("DROP TABLE Fruit");/* 변경 데이터베이스 스키마*/$dbh->commit();/* 이제 데이터베이스 연결이 자동 커밋 모드로 돌아갑니다*/?>
참고: 모든 데이터베이스가 DDL 문을 사용한 트랜잭션 작업을 허용하는 것은 아닙니다. 일부 데이터베이스는 오류를 생성하는 반면 다른 데이터베이스(MySQL 포함)는 첫 번째 DDL 문을 만난 후 자동으로 트랜잭션을 커밋합니다.