개발자 Q&A

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

2025.08.02 15:21

pg_fetch_object 함수를 사용하여 PostgreSQL 데이터를 객체로 가져오기

목록
  • 스택오버플로우러버 2일 전 2025.08.02 15:21
  • 5
    1


<?php

$dsn = "host=localhost dbname=mydb user=myuser password=mypassword";

$conn = pg_connect($dsn);



if (!$conn) {

    echo "데이터베이스 연결 실패";

    exit;

}



$result = pg_query($conn, "SELECT * FROM users");



if (!$result) {

    echo "쿼리 실행 실패";

    exit;

}



while ($row = pg_fetch_object($result)) {

    echo $row->id . "n";

    echo $row->name . "n";

    echo $row->email . "n";

}



pg_close($conn);

?>



위 코드에서 `$row = pg_fetch_object($result);` 부분에 대한 질문입니다.

`pg_fetch_object` 함수를 사용하여 PostgreSQL 데이터베이스의 데이터를 객체로 가져올 때, `$row` 변수는 어떤 타입의 객체가 될까요? 또한 `$row->id`, `$row->name`, `$row->email`와 같은 프로퍼티 이름은 어떻게 결정되는가요?

    댓글목록

    profile_image
    나우호스팅  2일 전



    `pg_fetch_object` 함수는 PostgreSQL 데이터베이스의 데이터를 PHP의 객체로 가져옵니다. `$row` 변수는 `stdClass` 객체의 인스턴스입니다.

    `stdClass` 객체는 PHP에서 기본적으로 사용할 수 있는 객체입니다. 이 객체는 프로퍼티 이름이 컬럼 이름과 동일한 객체를 반환합니다.

    예를 들어, `users` 테이블의 컬럼 이름이 `id`, `name`, `email`인 경우, `$row` 객체의 프로퍼티 이름도 `id`, `name`, `email`이 됩니다.

    이러한 프로퍼티 이름은 `pg_fetch_object` 함수가 컬럼 이름을 사용하여 객체의 프로퍼티 이름을 자동으로 생성하기 때문입니다.

    따라서, `$row->id`, `$row->name`, `$row->email`와 같은 프로퍼티 이름은 `users` 테이블의 컬럼 이름과 동일한 이름입니다.

    2025-08-02 15:22

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

검색

게시물 검색