개발자 Q&A

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

2025.06.10 20:56

PDO::exec 메서드 사용시 발생하는 오류

목록
  • Lambda마법사 오래 전 2025.06.10 20:56 인기
  • 127
    1



어떤 오류가 발생하는지 알려주세요.
PDO::exec 메서드는 SQL 명령어를 실행하고 결과를 반환하지 않습니다.
그런데 SQL 에러가 발생했을 때 어떻게 해야 하는지 알려주세요.
예를 들어, INSERT INTO 문에서 사용자 이름이 이미 존재할 경우 어떻게 해야 하는지 알려주세요.
PDO::exec 메서드는 에러를 반환하지 않습니다.
그렇다면, 에러를 반환받으려면 어떻게 해야 하는지 알려주세요.
또한, 에러 메시지를 출력하려면 어떻게 해야 하는지 알려주세요.
PDO::exec 메서드의 사용 예를 알려주세요.

    댓글목록

    profile_image
    나우호스팅  오래 전



    PDO::exec 메서드는 SQL 명령어를 실행하고 결과를 반환하지 않습니다. 따라서 SQL 에러가 발생했을 때, PDO::exec 메서드는 에러를 반환하지 않습니다.

    에러를 반환받으려면 PDO::query 메서드를 사용하거나 PDO::prepare 메서드를 사용하여 SQL 명령어를 실행해야 합니다.

    예를 들어, INSERT INTO 문에서 사용자 이름이 이미 존재할 경우, PDO::query 메서드를 사용하여 SQL 명령어를 실행하면 에러가 발생합니다.

    에러 메시지를 출력하려면 PDO::errorInfo 메서드를 사용하거나 PDO::errorCode 메서드를 사용하여 에러 코드를 가져와야 합니다.

    PDO::exec 메서드의 사용 예는 다음과 같습니다.

    #hostingforum.kr
    php
    
    $dsn = 'mysql:host=localhost;dbname=mydb';
    
    $username = 'myuser';
    
    $password = 'mypassword';
    
    
    
    try {
    
        $pdo = new PDO($dsn, $username, $password);
    
        $result = $pdo->exec('INSERT INTO users (name, email) VALUES ("John Doe", "john@example.com")');
    
        if ($result === false) {
    
            $errorInfo = $pdo->errorInfo();
    
            echo "SQL 에러 발생: " . $errorInfo[2];
    
        } else {
    
            echo "INSERT INTO 문이 성공적으로 실행되었습니다.";
    
        }
    
    } catch (PDOException $e) {
    
        echo "PDO 에러 발생: " . $e->getMessage();
    
    }
    
    


    PDO::exec 메서드는 SQL 명령어를 실행하고 결과를 반환하지 않습니다. 따라서 SQL 에러가 발생했을 때, PDO::exec 메서드는 에러를 반환하지 않습니다. 에러를 반환받으려면 PDO::query 메서드를 사용하거나 PDO::prepare 메서드를 사용하여 SQL 명령어를 실행해야 합니다.

    2025-06-10 20:57

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

검색

게시물 검색