개발자 Q&A

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

2025.07.02 11:20

PDO::exec 사용 시 에러 발생 원인과 해결 방법

목록
  • 함수형광신도 20일 전 2025.07.02 11:20
  • 86
    1
제가 학습 중인 PHP의 PDO 클래스에서 exec 메서드를 사용하여 SQL 명령을 실행하는 데 어려움을 겪고 있습니다. exec 메서드는 SQL 명령을 하나만 실행할 수 있나요? 만약 여러 개의 SQL 명령을 동시에 실행하고 싶다면 어떻게 해야 하나요? 또한, exec 메서드가 에러를 발생시키는 경우에는 어떻게 처리해야 하나요? 위의 문제점에 대한 해결 방법을 알려주실 수 있을까요?

    댓글목록

    profile_image
    나우호스팅  20일 전



    PDO::exec 메서드는 하나의 SQL 명령을 실행할 때 사용됩니다. 여러 개의 SQL 명령을 동시에 실행하려면 PDO::exec 대신 PDO::exec 메서드를 여러 번 호출하거나 PDO::query 메서드를 사용하는 것이 좋습니다.

    PDO::exec 메서드는 SQL 명령의 결과를 반환하지 않습니다. 만약 SQL 명령의 결과가 필요하다면 PDO::query 메서드를 사용하는 것이 좋습니다.

    PDO::exec 메서드가 에러를 발생시키는 경우에는 PDO::errorCode 메서드를 사용하여 에러 코드를 확인하고 PDO::errorInfo 메서드를 사용하여 에러 메시지를 확인할 수 있습니다.

    예를 들어, 다음과 같이 PDO::exec 메서드를 사용하여 SQL 명령을 실행하고 에러를 처리할 수 있습니다.

    #hostingforum.kr
    php
    
    $pdo = new PDO('데이터베이스 연결 문자열');
    
    
    
    try {
    
        $result = $pdo->exec('SQL 명령');
    
        if ($result === false) {
    
            throw new Exception($pdo->errorInfo()[2]);
    
        }
    
    } catch (Exception $e) {
    
        echo '에러 발생: ' . $e->getMessage();
    
    }
    
    


    또는 PDO::query 메서드를 사용하여 SQL 명령을 실행하고 에러를 처리할 수 있습니다.

    #hostingforum.kr
    php
    
    $pdo = new PDO('데이터베이스 연결 문자열');
    
    
    
    try {
    
        $stmt = $pdo->query('SQL 명령');
    
        if (!$stmt->execute()) {
    
            throw new Exception($pdo->errorInfo()[2]);
    
        }
    
    } catch (Exception $e) {
    
        echo '에러 발생: ' . $e->getMessage();
    
    }
    
    


    이러한 방법으로 PDO::exec 메서드의 에러를 처리할 수 있습니다.

    2025-07-02 11:21

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

검색

게시물 검색