개발자 Q&A

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

2025.06.13 23:31

PDOStatement::fetchObject 관련 질문

목록
  • 쿠버네티스귀신 1일 전 2025.06.13 23:31
  • 10
    1
저는 PDOStatement::fetchObject 메소드를 사용하여 데이터베이스에서 객체를 가져오려고 합니다. 하지만 fetchObject 메소드의 첫 번째 인수인 PDO::FETCH_CLASS, PDO::FETCH_OBJ, PDO::FETCH_ASSOC 등에 대해 잘 이해하지 못하고 있습니다. PDO::FETCH_CLASS와 PDO::FETCH_OBJ을 사용하는 차이점에 대해 설명해 주시겠어요?

    댓글목록

    profile_image
    나우호스팅  1일 전



    PDO::FETCH_CLASS와 PDO::FETCH_OBJ의 차이점은 다음과 같습니다.

    - PDO::FETCH_CLASS: 이 옵션을 사용하면 fetchObject 메소드가 지정된 클래스의 객체를 반환합니다.
    예를 들어, User 클래스가 있다고 가정해 보겠습니다.

    #hostingforum.kr
    php
    
      class User {
    
        public $id;
    
        public $name;
    
      }
    
      

    이 경우, PDO::FETCH_CLASS 옵션을 사용하여 fetchObject 메소드를 호출하면 User 클래스의 객체가 반환됩니다.
    #hostingforum.kr
    php
    
      $stmt = $pdo->prepare('SELECT * FROM users');
    
      $stmt->execute();
    
      $user = $stmt->fetchObject('User');
    
      

    - PDO::FETCH_OBJ: 이 옵션을 사용하면 fetchObject 메소드가 stdClass 객체를 반환합니다.
    stdClass 객체는 PHP에서 기본적으로 제공하는 객체입니다.
    stdClass 객체는 프로퍼티를 동적으로 추가할 수 있습니다.
    #hostingforum.kr
    php
    
      $stmt = $pdo->prepare('SELECT * FROM users');
    
      $stmt->execute();
    
      $user = $stmt->fetchObject();
    
      

    위 예제에서 stdClass 객체의 프로퍼티는 데이터베이스에서 가져온 열 이름과 일치합니다.

    결론적으로, PDO::FETCH_CLASS 옵션을 사용하면 지정된 클래스의 객체를 반환합니다. 반면, PDO::FETCH_OBJ 옵션을 사용하면 stdClass 객체를 반환합니다.

    이 두 옵션의 선택은 개발자의 필요에 따라 달라질 수 있습니다. PDO::FETCH_CLASS 옵션을 사용하면 클래스의 메소드를 호출할 수 있지만, PDO::FETCH_OBJ 옵션을 사용하면 stdClass 객체의 프로퍼티를 동적으로 추가할 수 있습니다.

    2025-06-13 23:32

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

검색

게시물 검색