MySQLi에서 결과 세트 반복
MySQLi에서 결과 세트로 작업할 때 첫 번째 값에만 액세스할 수 있는 문제가 발생할 수 있습니다. 반복하는 동안. 이는 일반적으로 fetch_array() 사용과 해당 동작에 대한 부적절한 이해로 인해 발생합니다.
fetch_array()의 기본 동작
기본적으로 fetch_array()는 두 가지를 모두 포함하는 배열을 반환합니다. MYSQLI_BOTH로 알려진 인덱스 키와 연관 키. 인덱스 키 또는 연관 키만 사용하여 결과 세트를 지정하려면 각각 MYSQLI_NUM 또는 MYSQLI_ASSOC를 사용하십시오.
fetch_array()의 대안
fetch_array()에 의존하는 대신, 보다 효율적이고 간결하게 고려하십시오. 대안:
while ($row = $output->fetch_array(MYSQLI_ASSOC)) { echo $row['uid']; }
while ($row = $output->fetch_array(MYSQLI_NUM)) { echo $row[0]; }
foreach ($output as $row) { echo $row['uid']; }
문제 해결 반복
$i를 사용하여 인덱스 키를 증가시키는 것은 연관 키가 있는 결과 세트에 적합하지 않습니다. 예를 들어 결과 집합에는 다음 구조의 값이 있을 수 있습니다.
[ 0 => [0 => 1, 'uid' => 1], 1 => [0 => 2, 'uid' => 2], 2 => [0 => 3, 'uid' => 3]... ]
이 시나리오에서는 $row[1]가 후속 반복에서 존재하지 않아 문제가 발생합니다.
위 내용은 MySQLi 결과 세트의 첫 번째 값에만 액세스하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!