Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Menetapkan Semula Penunjuk Tatasusunan dalam Set Keputusan PDO untuk Berbilang Lelaran?

Bagaimana untuk Menetapkan Semula Penunjuk Tatasusunan dalam Set Keputusan PDO untuk Berbilang Lelaran?

Susan Sarandon
Lepaskan: 2024-12-01 22:10:12
asal
248 orang telah melayarinya

How to Reset the Array Pointer in PDO Result Sets for Multiple Iterations?

Menetapkan Semula Penunjuk Tatasusunan dalam Keputusan PDO

Apabila beralih daripada kaedah MySQL SELECT kepada PDO, menetapkan semula penunjuk tatasusunan menjadi penting untuk lelaran melalui pengambilan tatasusunan beberapa kali. Walaupun MySQL menawarkan mysql_data_seek() untuk mencapai ini, PDO memerlukan pendekatan yang berbeza.

Untuk berjaya menetapkan semula penunjuk tatasusunan dalam PDO, pertimbangkan penyelesaian berikut:

Pertama, dapatkan semula keputusan yang ditetapkan ke dalam tatasusunan menggunakan kaedah fetchAll(). Kaedah ini mengambil semua baris ke dalam tatasusunan PHP. Selepas itu, anda boleh mengulang tatasusunan ini beberapa kali untuk mengakses dan memproses data daripada setiap baris.

Berikut ialah contoh yang dikemas kini:

$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(); // Saving results into an array

// First Iteration
foreach ($rows as $r) {
    // ...
}

// Second Iteration
foreach ($rows as $r) {
    // ...
}
Salin selepas log masuk

Pendekatan yang disemak ini membolehkan anda mengulangi hasil tetapkan beberapa kali, bermula dari baris pertama setiap kali.

Atas ialah kandungan terperinci Bagaimana untuk Menetapkan Semula Penunjuk Tatasusunan dalam Set Keputusan PDO untuk Berbilang Lelaran?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan