> 백엔드 개발 > PHP 튜토리얼 > PHP에서 MySQLi 결과 세트를 효율적으로 반복하는 방법은 무엇입니까?

PHP에서 MySQLi 결과 세트를 효율적으로 반복하는 방법은 무엇입니까?

DDD
풀어 주다: 2024-11-23 04:04:17
원래의
1088명이 탐색했습니다.

How to Efficiently Iterate Through MySQLi Result Sets in PHP?

MySQLi 결과 세트 반복

PHP에서는 mysqli_query() 메서드를 사용하여 MySQL 쿼리 결과를 반복할 수 있습니다.

사용자 기반에서 쿼리 선택 uid의 결과 집합을 반복하려면 다음을 사용할 수 있습니다. 다음 루프:

$output = mysqli_query($mysqli, "select uid from userbase");
foreach ($output as $row) {
    echo $row['uid'];
}
로그인 후 복사

이 루프는 결과 집합의 각 행에 대한 uid 값을 올바르게 가져와 표시합니다. 절차적 구문보다 더 간결하고 효율적인 MySQLi의 객체지향 구문을 활용합니다.

잠재적 오류

코드에서 발생할 수 있는 오류는 다음과 같습니다. 이는 인덱스 키와 연관 키를 모두 포함하는 결과 집합을 생성하는 기본 동작과 함께 fetch_array()를 사용하여 발생합니다. (MYSQLI_BOTH). 이 문제를 해결하려면 MYSQLI_ASSOC 또는 MYSQLI_NUM을 fetch_array()의 두 번째 인수로 사용하여 원하는 동작을 지정할 수 있습니다.

또는 mysqli_query()를 반복 가능한 객체로 사용하여 fetch_array() 사용을 완전히 피할 수 있습니다. 반복될 때마다 fetch_array()를 호출해야 합니다. row.

반복 수정 중

제공하신 코드에도 잘못된 반복 방식이 포함되어 있습니다. 인덱스 0으로 시작하는 결과 집합의 후속 행에 액세스하려면 루프 내에서 $i 변수를 증가시켜야 합니다.

따라서 fetch_array()를 사용하는 올바른 반복은 다음과 같습니다.

$i = 0;
$output = mysqli_query($mysqli, "select uid from userbase");
while ($row = $output->fetch_array(MYSQLI_ASSOC)) {
    echo $row['uid'];
    $i++;
}
로그인 후 복사

위 내용은 PHP에서 MySQLi 결과 세트를 효율적으로 반복하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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