개발자 Q&A

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

2025.07.02 05:58

pg_fetch_array 함수 사용 방법에 대한 질문

목록
  • 백엔드도령 2일 전 2025.07.02 05:58
  • 31
    1
저는 PostgreSQL을 사용해 데이터베이스를 관리하고 있습니다. pg_fetch_array 함수를 사용하여 결과 집합의 행을 배열로 반환할 수 있습니다. 그러나 함수의 사용법과 결과에 대한 이해가 부족해 질문을 드리겠습니다.

pg_fetch_array 함수의 첫 번째 인수는 결과 집합의 행을 반환할 때 사용할 배열 타입을 지정하는 것입니다. 가능한 배열 타입은 ASSOC, ARRAY, BOTH, OBJ 등이 있습니다. ASSOC 타입을 사용할 때, 데이터베이스의 컬럼 이름을 키로 사용하여 결과를 반환할 수 있습니다. 그러나 ASSOC 타입을 사용할 때, 컬럼 이름이 없는 경우에는 키를 지정하지 않아도 데이터가 반환될까요?

또한 pg_fetch_array 함수의 두 번째 인수는 시작 행 번호를 지정하는 것입니다. 시작 행 번호가 0이면 첫 번째 행부터 결과를 반환할 수 있습니다. 그러나 시작 행 번호가 음수인 경우에는 결과가 반환될까요?

pg_fetch_array 함수를 사용하여 결과 집합의 행을 배열로 반환하는 방법을 알려주시면 감사하겠습니다.

    댓글목록

    profile_image
    나우호스팅  2일 전



    pg_fetch_array 함수는 PostgreSQL에서 결과 집합의 행을 배열로 반환하는 함수입니다.

    배열 타입은 ASSOC, ARRAY, BOTH, OBJ 등이 있습니다. ASSOC 타입을 사용할 때, 데이터베이스의 컬럼 이름을 키로 사용하여 결과를 반환할 수 있습니다. 컬럼 이름이 없는 경우에는 키를 지정하지 않아도 데이터가 반환됩니다.

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

    #hostingforum.kr
    sql
    
    SELECT id, name, age FROM users;
    
    


    이 경우, ASSOC 타입을 사용하여 결과를 반환할 수 있습니다.

    #hostingforum.kr
    php
    
    $result = pg_query("SELECT id, name, age FROM users;");
    
    $row = pg_fetch_array($result, PGSQL_ASSOC);
    
    print_r($row);
    
    


    이 코드는 다음과 같은 결과를 반환할 것입니다.

    #hostingforum.kr
    php
    
    Array
    
    (
    
        [id] => 1
    
        [name] => John
    
        [age] => 25
    
    )
    
    


    배열 타입을 사용할 때, 컬럼 이름이 없는 경우에는 키를 지정하지 않아도 데이터가 반환됩니다.

    #hostingforum.kr
    sql
    
    SELECT id, name, age FROM users;
    
    


    이 경우, ASSOC 타입을 사용하여 결과를 반환할 수 있습니다.

    #hostingforum.kr
    php
    
    $result = pg_query("SELECT id, name, age FROM users;");
    
    $row = pg_fetch_array($result, PGSQL_ASSOC);
    
    print_r($row);
    
    


    이 코드는 다음과 같은 결과를 반환할 것입니다.

    #hostingforum.kr
    php
    
    Array
    
    (
    
        [0] => 1
    
        [1] => John
    
        [2] => 25
    
    )
    
    


    이 경우, 컬럼 이름이 없기 때문에 키를 지정하지 않아도 데이터가 반환됩니다.

    pg_fetch_array 함수의 두 번째 인수는 시작 행 번호를 지정하는 것입니다. 시작 행 번호가 0이면 첫 번째 행부터 결과를 반환할 수 있습니다. 그러나 시작 행 번호가 음수인 경우에는 결과가 반환되지 않습니다.

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

    #hostingforum.kr
    sql
    
    SELECT id, name, age FROM users;
    
    


    이 경우, pg_fetch_array 함수의 두 번째 인수에 0을 지정하여 첫 번째 행부터 결과를 반환할 수 있습니다.

    #hostingforum.kr
    php
    
    $result = pg_query("SELECT id, name, age FROM users;");
    
    $row = pg_fetch_array($result, 0, PGSQL_ASSOC);
    
    print_r($row);
    
    


    이 코드는 다음과 같은 결과를 반환할 것입니다.

    #hostingforum.kr
    php
    
    Array
    
    (
    
        [id] => 1
    
        [name] => John
    
        [age] => 25
    
    )
    
    


    그러나 pg_fetch_array 함수의 두 번째 인수에 음수인 -1을 지정하면 결과가 반환되지 않습니다.

    #hostingforum.kr
    php
    
    $result = pg_query("SELECT id, name, age FROM users;");
    
    $row = pg_fetch_array($result, -1, PGSQL_ASSOC);
    
    print_r($row);
    
    


    이 코드는 다음과 같은 결과를 반환할 것입니다.

    #hostingforum.kr
    php
    
    Array
    
    (
    
    )
    
    


    이 경우, 결과가 반환되지 않습니다.

    pg_fetch_array 함수를 사용하여 결과 집합의 행을 배열로 반환하는 방법은 다음과 같습니다.

    1. pg_query 함수를 사용하여 SQL 문을 실행합니다.
    2. pg_fetch_array 함수를 사용하여 결과 집합의 행을 배열로 반환합니다.
    3. 배열 타입을 지정하여 컬럼 이름을 키로 사용하거나 키를 지정하지 않습니다.
    4. 시작 행 번호를 지정하여 첫 번째 행부터 결과를 반환합니다.
    5. 결과를 반환받은 배열을 사용하여 필요한 작업을 수행합니다.

    2025-07-02 05:59

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

검색

게시물 검색