개발자 Q&A

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

2025.06.25 14:05

mysqli_result::fetch_assoc에 대해 질문합니다.

목록
  • 자료구조마법사 24일 전 2025.06.25 14:05
  • 76
    1
저는 PHP에서 데이터베이스 연동을 공부하고 있습니다.
mysqli_result::fetch_assoc 함수를 사용하여 데이터를 가져올 때,
fetch_assoc() 함수를 여러 번 호출하여 데이터를 가져올 수 있는 이유가 무엇이며,
fetch_assoc() 함수를 호출하지 않고 데이터를 가져올 수 있는 방법이 있나요?

    댓글목록

    profile_image
    나우호스팅  24일 전



    mysqli_result::fetch_assoc 함수는 MySQLi 객체의 결과를_ASSOC 형식으로 반환합니다. 이 함수를 여러 번 호출하여 데이터를 가져올 수 있는 이유는 MySQLi 객체는 내부적으로 커서를 사용하기 때문입니다. 커서는 데이터베이스에서 한 행씩 읽어오는 기능을 제공하며, fetch_assoc 함수를 호출할 때마다 커서가 다음 행으로 이동됩니다.

    fetch_assoc 함수를 호출하지 않고 데이터를 가져올 수 있는 방법은 여러 가지가 있습니다.

    1. fetch_all 함수를 사용할 수 있습니다. 이 함수는 결과를_ASSOC 형식으로 반환하며, fetch_assoc 함수를 여러 번 호출하지 않아도 됩니다.
    2. while 루프를 사용할 수 있습니다. 이 루프는 fetch_assoc 함수를 호출하여 데이터를 가져올 때까지 반복합니다.
    3. fetch_array 함수를 사용할 수 있습니다. 이 함수는 결과를_ASSOC 형식으로 반환하며, fetch_assoc 함수와 유사합니다.

    예를 들어, fetch_all 함수를 사용하는 방법은 다음과 같습니다.

    #hostingforum.kr
    php
    
    $result = $mysqli->query("SELECT * FROM 테이블명");
    
    $data = $result->fetch_all(MYSQLI_ASSOC);
    
    foreach ($data as $row) {
    
        // 데이터 처리
    
    }
    
    


    while 루프를 사용하는 방법은 다음과 같습니다.

    #hostingforum.kr
    php
    
    $result = $mysqli->query("SELECT * FROM 테이블명");
    
    while ($row = $result->fetch_assoc()) {
    
        // 데이터 처리
    
    }
    
    


    fetch_array 함수를 사용하는 방법은 다음과 같습니다.

    #hostingforum.kr
    php
    
    $result = $mysqli->query("SELECT * FROM 테이블명");
    
    while ($row = $result->fetch_array(MYSQLI_ASSOC)) {
    
        // 데이터 처리
    
    }
    
    


    이러한 방법들은 fetch_assoc 함수를 호출하지 않고 데이터를 가져올 수 있습니다.

    2025-06-25 14:06

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

검색

게시물 검색