개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.06.26 04:53

PDO::beginTransaction 사용에 대한 질문

목록
  • PWA전도사 24일 전 2025.06.26 04:53
  • 85
    1
제가 현재 PHP에서 데이터베이스 연동을 위해 PDO를 사용중인데,
트랜잭션을 사용하여 데이터의 일관성을 유지하고 싶습니다.

그런데 PDO::beginTransaction의 사용법을 몰라서 질문드리려 합니다.

PDO::beginTransaction을 사용할 때,
트랜잭션을 시작할 때 어떤 코드를 사용해야 하는지 알려주시겠습니까?

또한, 트랜잭션을 롤백하는 방법도 알려주시면 감사하겠습니다.

예를 들어, 코드를 예시로 설명해주시면 더 도움이 될 것 같습니다.

    댓글목록

    profile_image
    나우호스팅  24일 전



    PDO::beginTransaction을 사용하여 트랜잭션을 시작하려면, 다음과 같이 코드를 작성합니다.

    #hostingforum.kr
    php
    
    $pdo = new PDO('데이터베이스 연결 문자열');
    
    $pdo->beginTransaction();
    
    


    이 코드를 실행하면 트랜잭션을 시작합니다.

    트랜잭션을 롤백하려면, 다음과 같이 코드를 작성합니다.

    #hostingforum.kr
    php
    
    $pdo->rollBack();
    
    


    트랜잭션을 커밋하려면, 다음과 같이 코드를 작성합니다.

    #hostingforum.kr
    php
    
    $pdo->commit();
    
    


    예를 들어, 다음과 같이 코드를 작성할 수 있습니다.

    #hostingforum.kr
    php
    
    $pdo = new PDO('데이터베이스 연결 문자열');
    
    $pdo->beginTransaction();
    
    
    
    try {
    
        // 트랜잭션 내의 코드
    
        $pdo->exec('INSERT INTO 테이블명 VALUES (값1, 값2)');
    
        $pdo->exec('UPDATE 테이블명 SET 컬럼명 = 값 WHERE 조건');
    
        
    
        $pdo->commit();
    
    } catch (Exception $e) {
    
        $pdo->rollBack();
    
        echo '트랜잭션 롤백';
    
    }
    
    


    이 코드는 트랜잭션 내의 코드가 성공적으로 실행되면 커밋을 실행하고, 실패하면 롤백을 실행합니다.

    2025-06-26 04:54

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 37,625건 / 62 페이지

검색

게시물 검색