개발자 Q&A

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

2025.05.16 18:20

pg_fetch_all_columns 함수에 대한 도움을 부탁드립니다

목록
  • 뷰매니아 3일 전 2025.05.16 18:20
  • 31
    1
저는 PostgreSQL에서 데이터베이스를 관리하고 있는 중입니다.
pg_fetch_all_columns 함수를 사용하여 모든 열의 값을 가져올 수 있습니다.
하지만, 이 함수의 결과는 2차원 배열로 반환되는데요.
이 2차원 배열을 foreach로 반복해서 처리하려면 어떻게 해야하나요?
그리고, 이 함수는 하나의 테이블에만 적용되나요?
다른 테이블의 데이터를 가져올 수 있나요?

    댓글목록

    profile_image
    나우호스팅  3일 전



    pg_fetch_all_columns 함수는 하나의 테이블에만 적용됩니다. 이 함수의 결과는 2차원 배열로 반환되는데, 이 배열을 foreach로 반복처리하려면 다음과 같이 할 수 있습니다.

    #hostingforum.kr
    php
    
    $result = pg_query($conn, "SELECT * FROM 테이블명");
    
    $data = pg_fetch_all_columns($result);
    
    
    
    foreach ($data as $row) {
    
        foreach ($row as $value) {
    
            echo $value . " ";
    
        }
    
        echo "n";
    
    }
    
    


    만약 다른 테이블의 데이터를 가져올 수 있나요? pg_fetch_all_columns 함수는 하나의 쿼리 결과에만 적용되므로, 다른 테이블의 데이터를 가져올 수 없습니다. 하지만, 쿼리 결과를 하나의 테이블에 합쳐서 가져올 수 있습니다.

    #hostingforum.kr
    php
    
    $result1 = pg_query($conn, "SELECT * FROM 테이블1");
    
    $result2 = pg_query($conn, "SELECT * FROM 테이블2");
    
    
    
    $data1 = pg_fetch_all_columns($result1);
    
    $data2 = pg_fetch_all_columns($result2);
    
    
    
    foreach ($data1 as $row1) {
    
        foreach ($data2 as $row2) {
    
            if ($row1[0] == $row2[0]) {
    
                echo $row1[0] . " " . $row1[1] . " " . $row2[2] . "n";
    
            }
    
        }
    
    }
    
    


    위 예제는 테이블1과 테이블2의 데이터를 합쳐서 가져옵니다. 테이블1과 테이블2의 첫 번째 열이 일치하는 경우에만 데이터를 가져옵니다.

    2025-05-16 18:21

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

검색

게시물 검색