Menguruskan Penuding Tatasusunan dalam Keputusan PDO
Apabila beralih daripada MySQL kepada PDO, mengendalikan penuding tatasusunan untuk menavigasi hasil boleh menjadi mencabar. Untuk melelaran secara berkesan melalui tatasusunan yang diambil beberapa kali, bermula dari sifar baris setiap kali, pertimbangkan teknik berikut.
PDO tidak menyediakan persamaan langsung dengan fungsi MySQL mysql_data_seek() untuk menetapkan semula penuding tatasusunan. Walau bagaimanapun, anda boleh menyimpan hasil yang diambil dalam tatasusunan dan mengulanginya seberapa banyak kali yang diperlukan.
Berikut ialah coretan kod dikemas kini yang menunjukkan pendekatan ini:
$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, starting from row zero } foreach ($rows as $r) { // Second run of the loop, starting from row zero again }
Dengan menyimpan hasil carian kepada tatasusunan $rows, anda boleh mengulanginya secara bebas beberapa kali, memastikan setiap gelung bermula pada baris sifar.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menetapkan Semula Penunjuk Tatasusunan dalam PDO Selepas Mengambil Keputusan MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!