개발자 Q&A

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

2025.06.17 01:07

PDO::exec를 사용하여 SQL 명령어 실행시 에러 메시지 출력 방법

목록
  • 프론트마법사 오래 전 2025.06.17 01:07 인기
  • 278
    1
저는 PDO::exec를 사용하여 SQL 명령어를 실행할 때 에러 메시지를 출력하는 방법을 모르겠습니다.

저는 현재 PDO::exec를 사용하여 SQL 명령어를 실행하고 있습니다. 하지만 에러가 발생했을 때 에러 메시지를 출력하는 방법을 모르겠습니다.

PDO::exec를 사용하여 SQL 명령어를 실행할 때 에러 메시지를 출력하는 방법은 무엇입니까?

예를 들어, 다음과 같은 SQL 명령어를 실행했을 때 에러 메시지를 출력하는 방법을 알려주세요.

php

$stmt = $pdo->prepare("INSERT INTO users (name, email) VALUES (:name, :email)");

$stmt->execute(array(':name' => 'John Doe', ':email' => 'john@example.com'));



이 경우에 에러가 발생했을 때 에러 메시지를 출력하는 방법을 알려주세요.

    댓글목록

    profile_image
    나우호스팅  오래 전



    PDO::exec를 사용하여 SQL 명령어를 실행할 때 에러 메시지를 출력하는 방법은 다음과 같습니다.

    1. PDO::exec는 SQL 명령어를 실행할 때 에러를 발생시키지 않습니다. 대신, PDO::exec는 영향을 받은 행의 수를 반환합니다. 따라서, PDO::exec를 사용하여 SQL 명령어를 실행할 때 에러 메시지를 출력하려면 PDO::query 또는 PDO::prepare를 사용해야 합니다.

    2. PDO::query 또는 PDO::prepare를 사용하여 SQL 명령어를 실행할 때 에러 메시지를 출력하려면 PDO::errorInfo 메서드를 사용하면 됩니다. PDO::errorInfo 메서드는 현재 PDO 연결의 마지막 오류 정보를 반환합니다.

    3. 예를 들어, PDO::exec를 사용하여 SQL 명령어를 실행했을 때 에러 메시지를 출력하는 방법은 다음과 같습니다.

    #hostingforum.kr
    php
    
    $pdo = new PDO('mysql:host=localhost;dbname=mydb', 'username', 'password');
    
    $stmt = $pdo->prepare("INSERT INTO users (name, email) VALUES (:name, :email)");
    
    $stmt->execute(array(':name' => 'John Doe', ':email' => 'john@example.com'));
    
    $errorInfo = $pdo->errorInfo();
    
    if ($errorInfo[0] != '00000') {
    
        echo "에러 메시지: " . $errorInfo[2];
    
    }
    
    


    4. 위 예제에서, PDO::errorInfo 메서드는 현재 PDO 연결의 마지막 오류 정보를 반환합니다. 오류 코드가 '00000'이면 에러가 발생하지 않았습니다. 그렇지 않으면, 에러 메시지를 출력합니다.

    2025-06-17 01:08

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

검색

게시물 검색