Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk Mengulang Melalui Set Keputusan PDO Berbilang Kali?
Mengulangi Melalui Set Keputusan PDO dari Mula
Apabila beralih daripada kaedah MySQL SELECT kepada kaedah PDO, menetapkan semula penunjuk tatasusunan untuk berulang melalui keputusan yang ditetapkan beberapa kali boleh mencabar. Ini disebabkan oleh perbezaan dalam cara kaedah ini mengendalikan penunjuk tatasusunan.
Dalam kod yang disediakan, gelung sementara pertama berjaya melelaran melalui tatasusunan yang diambil bermula dari baris sifar. Walau bagaimanapun, gelung while kedua mengembalikan set kosong kerana kaedah fetch() PDO memajukan penuding tatasusunan pada setiap panggilan.
Untuk mencapai gelagat yang diingini, seseorang boleh menyimpan hasil dalam tatasusunan dan kemudian lelaran melalui tatasusunan itu beberapa kali. Berikut ialah contoh:
$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 } foreach ($rows as $r) { // second run }
Dengan menggunakan fetchAll(), semua baris daripada set hasil disimpan dalam tatasusunan $rows. Ini membolehkan anda mengulangi tatasusunan beberapa kali tanpa menetapkan semula penuding tatasusunan secara manual.
Atas ialah kandungan terperinci Bagaimana untuk Mengulang Melalui Set Keputusan PDO Berbilang Kali?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!