다음을 통해 공유


PDO::beginTransaction

PHP 드라이버 다운로드

자동 커밋 모드를 끄고 트랜잭션을 시작합니다.

구문

  
bool PDO::beginTransaction();  

Return Value

메서드 호출에 성공하면 true이고, 그렇지 않으면 false입니다.

설명

PDO::beginTransaction으로 시작한 트랜잭션은 PDO::commit 또는 PDO::rollback 이 호출될 때 종료됩니다.

PDO::beginTransaction은 PDO::ATTR_AUTOCOMMIT 값에 의해 영향을 받지도 않고 영향을 주지도 않습니다.

이전 PDO::beginTransaction이 PDO::rollback 또는 PDO::commit으로 종료되기 전에는 PDO::beginTransaction을 호출할 수 없습니다.

이 메서드가 실패하면 연결이 자동 커밋 모드로 돌아갑니다.

PDO 지원이 Microsoft Drivers for PHP for SQL Server의 버전 2.0에 추가되었습니다.

예제

다음 예제는 Test라는 데이터베이스와 Table1이라는 테이블을 사용합니다. 트랜잭션을 시작하고 두 행을 추가한 다음 한 행을 삭제하는 명령을 실행합니다. 명령이 데이터베이스에 전송되고 트랜잭션이 PDO::commit으로 명시적으로 종료됩니다.

<?php  
   $conn = new PDO( "sqlsrv:server=(local); Database = Test", "", "");  
   $conn->beginTransaction();  
   $ret = $conn->exec("insert into Table1(col1, col2) values('a', 'b') ");  
   $ret = $conn->exec("insert into Table1(col1, col2) values('a', 'c') ");  
   $ret = $conn->exec("delete from Table1 where col1 = 'a' and col2 = 'b'");  
   $conn->commit();  
   // $conn->rollback();  
   echo $ret;  
?>  

참고 항목

PDO 클래스

PDO