개발자 Q&A

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

2025.05.21 11:58

pg_fetch_array 관련 질문

목록
  • W3C마스터 1일 전 2025.05.21 11:58
  • 6
    1
저는 PostgreSQL 데이터베이스와 PHP를 사용하여 데이터를 조회하고 있습니다.
pg_fetch_array 함수를 사용하여 데이터베이스에서 데이터를 읽어오는데
어떤 데이터가 배열 형태로 반환되는지 궁금합니다.
특히, 배열의 키가 row, column이 아닌 다른 값으로 설정되는 경우가 있는지,
그리고 이 경우에 어떻게 데이터를 접근할 수 있는지 알려주시겠어요?

    댓글목록

    profile_image
    나우호스팅  1일 전



    pg_fetch_array 함수는 PostgreSQL 데이터베이스에서 데이터를 읽어와 배열 형태로 반환합니다.

    기본적으로, pg_fetch_array 함수는 ASSOC, ARRAY, BOTH, ROW 등 다양한 옵션을 지원합니다.

    ASSOC 옵션을 사용할 경우, 배열의 키가 컬럼 이름으로 설정됩니다.

    예를 들어, 다음과 같은 테이블이 있다고 가정해 보겠습니다.

    #hostingforum.kr
    sql
    
    CREATE TABLE 테이블명 (
    
        id SERIAL PRIMARY KEY,
    
        이름 VARCHAR(255),
    
        나이 INTEGER
    
    );
    
    


    PHP 코드를 다음과 같이 작성할 수 있습니다.

    #hostingforum.kr
    php
    
    $conn = pg_connect("host=localhost dbname=데이터베이스명 user=사용자명 password=비밀번호");
    
    $result = pg_query($conn, "SELECT * FROM 테이블명");
    
    
    
    while ($row = pg_fetch_array($result, PG_ASSOC)) {
    
        echo $row['이름'] . "n";
    
        echo $row['나이'] . "n";
    
    }
    
    


    이 경우, 배열의 키가 컬럼 이름인 '이름'과 '나이'로 설정됩니다.

    또한, pg_fetch_array 함수는 ROW 옵션을 지원합니다. 이 옵션을 사용할 경우, 배열의 키가 row로 설정됩니다.

    예를 들어, 다음과 같은 PHP 코드를 작성할 수 있습니다.

    #hostingforum.kr
    php
    
    $conn = pg_connect("host=localhost dbname=데이터베이스명 user=사용자명 password=비밀번호");
    
    $result = pg_query($conn, "SELECT * FROM 테이블명");
    
    
    
    while ($row = pg_fetch_array($result, PG_ROW)) {
    
        echo $row[0] . "n"; // id
    
        echo $row[1] . "n"; // 이름
    
        echo $row[2] . "n"; // 나이
    
    }
    
    


    이 경우, 배열의 키가 row로 설정되며, 인덱스 0부터 컬럼 값을 접근할 수 있습니다.

    마지막으로, pg_fetch_array 함수는 ARRAY 옵션을 지원합니다. 이 옵션을 사용할 경우, 배열의 키가 컬럼 인덱스로 설정됩니다.

    예를 들어, 다음과 같은 PHP 코드를 작성할 수 있습니다.

    #hostingforum.kr
    php
    
    $conn = pg_connect("host=localhost dbname=데이터베이스명 user=사용자명 password=비밀번호");
    
    $result = pg_query($conn, "SELECT * FROM 테이블명");
    
    
    
    while ($row = pg_fetch_array($result, PG_ARRAY)) {
    
        echo $row[0] . "n"; // id
    
        echo $row[1] . "n"; // 이름
    
        echo $row[2] . "n"; // 나이
    
    }
    
    


    이 경우, 배열의 키가 컬럼 인덱스로 설정되며, 인덱스 0부터 컬럼 값을 접근할 수 있습니다.

    2025-05-21 11:59

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

검색

게시물 검색