Rumah >pangkalan data >tutorial mysql >Bolehkah saya Lelaran Melalui Set Keputusan MySQL Dua Kali Menggunakan Fungsi mysql_*?

Bolehkah saya Lelaran Melalui Set Keputusan MySQL Dua Kali Menggunakan Fungsi mysql_*?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-12 15:11:14255semak imbas

Can I Iterate Through a MySQL Result Set Twice Using mysql_* Functions?

Menyalurkan melalui Set Keputusan MySQL Dua Kali dengan Fungsi mysql_*

Apabila bekerja dengan set hasil MySQL menggunakan fungsi mysql_*, persoalan biasa timbul - bolehkah satu gelung melalui keputusan yang sama ditetapkan beberapa kali?

Biasanya, menghantar pertanyaan MySQL kepada mysql_query menghasilkan set hasil, yang dilalui menggunakan mysql_fetch_assoc untuk mengakses baris individu sebagai tatasusunan bersekutu. Secara lalai, selepas set hasil dilalui sepenuhnya, penuding mencapai penghujung, menjadikannya mustahil untuk mengulangi keputusan itu semula.

Walau bagaimanapun, terdapat penyelesaian untuk menetapkan semula penunjuk dan gelung melalui set hasil. berulang kali.

Untuk mencapai ini:

$result = mysql_query(/* Your query */);
while($row = mysql_fetch_assoc($result)){
    // Process the row here...
}

// Reset the pointer to the beginning
mysql_data_seek($result, 0);
while($row = mysql_fetch_assoc($result)){
    // Process the row again...
}

Dengan mengalihkan penuding kembali ke permulaan dengan mysql_data_seek(0), adalah mungkin untuk merentasi keputusan yang sama yang ditetapkan beberapa kali.

Walau bagaimanapun, perlu diingat bahawa amalan ini secara amnya tidak digalakkan. Ia dianggap tidak cekap dan terdedah kepada ralat berbanding dengan melaksanakan semua pemprosesan yang diperlukan dalam satu lelaran set hasil.

Atas ialah kandungan terperinci Bolehkah saya Lelaran Melalui Set Keputusan MySQL Dua Kali Menggunakan Fungsi mysql_*?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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