> 백엔드 개발 > PHP 튜토리얼 > \'엄격한 표준: mysqli_multi_query\의 mysqli_next_result() 오류'를 해결하는 방법은 무엇입니까?

\'엄격한 표준: mysqli_multi_query\의 mysqli_next_result() 오류'를 해결하는 방법은 무엇입니까?

Patricia Arquette
풀어 주다: 2024-12-24 05:41:17
원래의
662명이 탐색했습니다.

How to Resolve

엄격한 표준: mysqli_multi_query의 "mysqli_next_result() 오류" 해결

문제:

mysqli_multi_query를 사용할 때 사용자는 다음과 같은 문제를 겪을 수 있습니다. "엄격한 상황에 직면하다 mysqli_next_result()와 관련된 "표준" 오류. 이 오류는 처리할 다음 결과 집합이 없음을 나타냅니다.

초기 응답:

한 응답은 $querystring을 수정하여 문제를 해결하려고 시도했지만 해결되지 않았습니다. 엄격한 기준 오류의 근본 원인. 또 다른 응답에서는 루프 구조를 "DO WHILE"에서 "WHILE"로 변경하라고 조언했는데 이는 불필요합니다.

실제 해결 방법:

오류를 해결하려면 코드를 수정하세요. 다음과 같습니다:

do {
    if ($result = mysqli_store_result($db)) {
        // Process result set
    }
} while (mysqli_more_results($db) && mysqli_next_result($db));
로그인 후 복사

이렇게 하면 처리할 결과 집합이 더 있을 때만 루프 조건이 충족되어 오류.

추가 고려 사항:

  • 제공된 예에서는 INSERT 쿼리가 실행되지만 결과 집합이 생성되지 않습니다. 따라서 이 경우 루프는 실행되지 않습니다. 대신 mysqli_affected_rows()를 사용하여 영향을 받은 행 수를 검색하는 것이 좋습니다.
  • 완전한 솔루션을 위해서는 오류가 발생할 경우 오류를 표시하는 오류 처리를 포함하는 것이 좋습니다.

향상됨 조각:

if (mysqli_multi_query($db, $querystring)) {
    do {
        if ($result = mysqli_store_result($db)) {
            // Process result set
            mysqli_free_result($result);
        } else if (mysqli_error($db)) {
            echo "Error: " . mysqli_error($db);
            break;
        }
    } while (mysqli_more_results($db) && mysqli_next_result($db));
}
로그인 후 복사

결론:

"Strict Standards: mysqli_next_result(): There is no next result set" 오류는 mysqli_more_results를 사용하여 해결됩니다. () 추가 결과 세트가 있는지 확인합니다. 향상된 스니펫은 mysqli_multi_query 및 mysqli_store_result 작업의 긍정적인 결과와 부정적인 결과를 모두 처리합니다.

위 내용은 '엄격한 표준: mysqli_multi_query의 mysqli_next_result() 오류'를 해결하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿