개발자 Q&A

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

2025.07.13 04:53

PDO::beginTransaction를 사용한 트랜잭션 처리 방법에 대한 질문

목록
  • 개발하는곰돌이 8일 전 2025.07.13 04:53
  • 69
    1
저는 PDO를 사용하여 MySQL과 연동하는 PHP 프로젝트를 진행 중입니다. 트랜잭션 처리를 위해 PDO::beginTransaction() 메서드를 사용하고자 합니다.

질문은 PDO::beginTransaction() 메서드를 호출한 후, 트랜잭션을 롤백하는 방법과 에러가 발생한 경우 롤백하는 방법에 대한 정보를 얻고자 합니다.

PDO::beginTransaction() 메서드를 호출한 후, 에러가 발생한 경우 트랜잭션을 롤백하는 방법을 알려주세요.

    댓글목록

    profile_image
    나우호스팅  8일 전



    PDO::beginTransaction() 메서드를 호출한 후 에러가 발생한 경우 트랜잭션을 롤백하는 방법은 다음과 같습니다.

    1. try-catch 블록을 사용하여 에러를捕捉합니다.
    2. try 블록 내에서 PDO::beginTransaction() 메서드를 호출합니다.
    3. try 블록 내에서 트랜잭션 처리를 수행합니다.
    4. catch 블록 내에서 PDO::rollBack() 메서드를 호출하여 트랜잭션을 롤백합니다.

    예제 코드는 다음과 같습니다.

    #hostingforum.kr
    php
    
    try {
    
        $pdo->beginTransaction();
    
        // 트랜잭션 처리를 수행합니다.
    
        $pdo->exec('INSERT INTO 테이블명 (컬럼명) VALUES (값)');
    
        $pdo->exec('INSERT INTO 테이블명 (컬럼명) VALUES (값)');
    
        $pdo->commit();
    
    } catch (PDOException $e) {
    
        $pdo->rollBack();
    
        // 에러 메시지를 출력합니다.
    
        echo '트랜잭션 롤백: ' . $e->getMessage();
    
    }
    
    


    이러한 방법으로 PDO::beginTransaction() 메서드를 호출한 후 에러가 발생한 경우 트랜잭션을 롤백할 수 있습니다.

    2025-07-13 04:54

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

검색

게시물 검색