다음을 통해 공유


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을 호출할 수 없습니다.

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

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

예시

다음 예제에서는 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