개발자 Q&A

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

2025.03.30 22:56

MySQLi의 next_result 메서드 사용에 대한 질문

목록
  • Azure마스터 2일 전 2025.03.30 22:56
  • 4
    1
안녕하세요, 선생님. MySQLi의 next_result 메서드에 대해 질문을 드리겠습니다.

저는 MySQLi의 query_multiple_statements를 사용하여 여러 쿼리를 한번에 실행하는 방법을 공부하고 있습니다. 다음 쿼리를 실행하는 코드를 작성했는데,

php

$stmt = $mysqli->query("SELECT * FROM 테이블1; SELECT * FROM 테이블2;");

$result = $mysqli->next_result();



이 코드에서, $mysqli->next_result() 메서드는 첫 번째 쿼리의 결과를 반환하는 것처럼 보입니다.

그러나, 두 번째 쿼리의 결과를 얻으려면, 두 번째 쿼리 결과를 얻기 전에, 첫 번째 쿼리 결과를 무시해야 한다고 합니다.

그렇다면, MySQLi의 next_result 메서드를 사용하여 두 번째 쿼리 결과를 얻는 방법은 어떻게 되나요?

다음 쿼리를 실행하는 코드를 작성했는데,

php

$stmt = $mysqli->query("SELECT * FROM 테이블1; SELECT * FROM 테이블2;");

$result = $mysqli->store_result();

$result->free_result();

$result = $mysqli->next_result();



저는 두 번째 쿼리 결과를 얻는 방법이 맞는지, 혹은 다른 방법이 있는지 궁금합니다.

    댓글목록

    profile_image
    나우호스팅  2일 전



    MySQLi의 next_result 메서드는 query_multiple_statements를 사용하여 여러 쿼리를 한번에 실행할 때, 이전 쿼리의 결과를 무시하고 다음 쿼리의 결과를 반환합니다.

    next_result 메서드를 사용하여 두 번째 쿼리 결과를 얻으려면, 첫 번째 쿼리의 결과를 무시해야 합니다. 이를 위해 store_result 메서드를 사용하여 첫 번째 쿼리의 결과를 저장한 후, free_result 메서드를 사용하여 결과를 해제한 다음, next_result 메서드를 사용하여 두 번째 쿼리의 결과를 반환합니다.

    다음 쿼리를 실행하는 코드를 작성할 수 있습니다.

    #hostingforum.kr
    php
    
    $stmt = $mysqli->query("SELECT * FROM 테이블1; SELECT * FROM 테이블2;");
    
    $result = $mysqli->store_result();
    
    $result->free_result();
    
    $result = $mysqli->next_result();
    
    


    또는, query 메서드 대신 multi_query 메서드를 사용할 수 있습니다.

    #hostingforum.kr
    php
    
    $stmt = $mysqli->multi_query("SELECT * FROM 테이블1; SELECT * FROM 테이블2;");
    
    $result = $mysqli->next_result();
    
    


    이 코드는 두 번째 쿼리의 결과를 반환합니다.

    2025-03-30 22:57

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

검색

게시물 검색