PDO에서 반복 배열 탐색을 위한 반복자 재설정
PDO는 데이터베이스 상호 작용을 위한 더욱 강력하고 객체 지향적인 접근 방식을 제공합니다. MySQL SELECT 메소드에서 PDO로 전환할 때 가져온 결과를 여러 번 반복하도록 배열 포인터를 재설정하는 것이 어려울 수 있습니다.
MySQL에서 이를 달성하려면 mysql_data_seek($result, 0)가 사용됩니다. PDO에서는 간단한 포인터 재설정이 지원되지 않습니다. 대신, 다른 접근 방식을 고려해야 합니다.
해결책: 배열 저장 및 재순환
해결책은 가져온 결과를 배열에 저장한 다음 배열을 두 번 반복합니다. 이렇게 하면 PDO 반복자에서 벗어나 배열의 내부 포인터에 대한 제어권을 얻게 됩니다.
이 방법은 다음과 같습니다.
<code class="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(); $rows = $stmt->fetchAll(); foreach ($rows as $r) { // First run of the loop } foreach ($rows as $r) { // Second run of the loop }</code>
이 접근 방식은 PDO 반복자를 재설정하는 복잡성을 방지합니다. 가져온 결과를 여러 번 반복하기 위한 보다 간단한 솔루션을 제공합니다.
위 내용은 PDO 가져오기 결과를 여러 번 반복하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!