>백엔드 개발 >PHP 튜토리얼 >처음부터 PDO 가져오기 결과를 여러 번 반복하는 방법은 무엇입니까?

처음부터 PDO 가져오기 결과를 여러 번 반복하는 방법은 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-10-30 03:06:03529검색

How to Iterate Through PDO Fetch Results Multiple Times Starting from the Beginning?

처음부터 PDO 가져오기 결과 반복

PHP의 PDO 확장에서는 가져온 배열을 여러 번 반복하려고 시도할 때 문제가 발생할 수 있습니다. , 매번 첫 번째 행부터 시작합니다. MySQL의 mysql_data_seek 방법과 달리 PDO에는 배열 포인터를 수동으로 재설정하는 것과 직접적으로 동등한 기능이 없습니다.

이를 극복하려면 결과를 배열에 저장하여 대체 접근 방식을 활용할 수 있습니다. 다음은 이를 보여주는 수정된 코드 조각입니다.

<code class="php"><?php
$pdo = new PDO('mysql:host=' . $host . ';dbname='.$database, $username, $password);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

$stmt = $pdo->prepare('SELECT * FROM mytable WHERE active = 1 ORDER BY name ASC');
$stmt->setFetchMode(PDO::FETCH_ASSOC);
$stmt->execute();

// Store the results in an array
$rows = $stmt->fetchAll();

// First iteration
foreach ($rows as $r) {
    // Perform desired actions starting from the first row
}

// Second iteration
foreach ($rows as $r) {
    // Perform additional actions starting from the first row again
}
?></code>

결과를 $rows에 저장하면 전체 결과 집합의 스냅샷을 효과적으로 생성할 수 있습니다. 이를 통해 배열을 여러 번 반복하여 각 반복이 첫 번째 행에서 시작되도록 할 수 있습니다. 이 접근 방식은 더 큰 다양성을 제공하고 수동 포인터 조작이 필요하지 않으므로 다양한 사용 사례에 적합합니다.

위 내용은 처음부터 PDO 가져오기 결과를 여러 번 반복하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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