동일한 결과에 대해 mysqli_fetch_array()를 여러 번 활용하는 방법
데이터베이스 기반 앱으로 작업할 때 반복적으로 처리해야 하는 경우가 많습니다. 반환된 데이터 행. MySQL에서 mysqli_fetch_array() 함수는 쿼리 결과에서 데이터를 추출하는 데 중요한 역할을 합니다. 그러나 mysqli_fetch_array()를 사용하여 동일한 결과 세트에 여러 번 액세스하려고 하면 일반적인 문제가 발생하여 예상치 못한 동작이 발생합니다.
이 문제의 원인은 mysqli_fetch_array()의 동작 때문입니다. 호출할 때마다 결과 집합 내의 커서가 다음 행으로 이동합니다. 결과적으로 동일한 결과에 대해 두 번 사용하면 처음 두 행에만 액세스할 수 있습니다. 이러한 한계를 극복하려면 데이터 조작을 출력에서 분리해야 합니다.
1. 데이터 캡처:
첫 번째 단계에서는 모든 데이터를 배열로 추출합니다.
<code class="php">$db_res = mysqli_query( $db_link, $sql ); $data = array(); while ($row = mysqli_fetch_assoc($db_res)) { $data[] = $row; }</code>
또는 PHP 5.3의 fetch_all() 메서드를 사용합니다.
<code class="php">$db_res = mysqli_query( $db_link, $sql ); $data = $db_res->fetch_all(MYSQLI_ASSOC);</code>
2. 데이터를 여러 번 활용:
배열에 캡처한 후에는 이를 여러 번 반복하여 모든 행에 대한 액세스를 보장할 수 있습니다.
<code class="php">// Top row foreach ($data as $row) {</code>
위 내용은 동일한 결과 세트에서 mysqli_fetch_array()를 여러 번 재사용할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!