mysqli_fetch_array() 딜레마 해결
동일한 결과 세트에 대해 mysqli_fetch_array()를 여러 번 사용하려고 하면 데이터에 액세스할 수 없게 될 수 있습니다. 이는 mysqli_fetch_array()가 결과를 점진적으로 소비하기 때문에 발생합니다.
데이터 조작 분리
이 문제를 방지하려면 데이터 조작을 출력에서 분리하세요. 향상된 접근 방식은 다음과 같습니다.
1. 데이터 선택
$db_res = mysqli_query($db_link, $sql); $data = array(); while ($row = mysqli_fetch_array($db_res, MYSQLI_ASSOC)) { $data[] = $row; }
또는 PHP 5.3에서 fetch_all()을 사용하세요.
$db_res = mysqli_query($db_link, $sql); $data = $db_res->fetch_all(MYSQLI_ASSOC);
이 단계에서는 전체 결과 집합을 $data 배열로 검색합니다.
2. 데이터 사용량
이제 결과 세트에 영향을 주지 않고 $data를 여러 번 반복할 수 있습니다.
맨 위 행
foreach ($data as $row) {
위 내용은 mysqli_fetch_array()가 반복 사용 시 실패하는 이유는 무엇이며 어떻게 해결할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!