>  기사  >  백엔드 개발  >  동일한 결과 세트에서 mysqli_fetch_array()를 여러 번 재사용할 수 있습니까?

동일한 결과 세트에서 mysqli_fetch_array()를 여러 번 재사용할 수 있습니까?

Patricia Arquette
Patricia Arquette원래의
2024-11-02 14:48:03951검색

Can You Reuse mysqli_fetch_array() Multiple Times on the Same Result Set?

동일한 결과에 대해 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.