Rumah  >  Artikel  >  pangkalan data  >  Mengapakah `mysql_fetch_array` saya mengembalikan data pendua?

Mengapakah `mysql_fetch_array` saya mengembalikan data pendua?

DDD
DDDasal
2024-10-31 07:54:30345semak imbas

Why is my `mysql_fetch_array` returning duplicate data?

Keputusan Berganda dengan mysql_fetch_array

Dalam kod yang disediakan, anda melaksanakan pertanyaan untuk mengambil data kakitangan berdasarkan ID dan mengembalikan hasilnya sebagai tatasusunan bersekutu. Walau bagaimanapun, apabila anda melelakan tatasusunan dan mencetak nilainya, anda akan menemui data pendua.

Ini kerana mysql_fetch_array mengambil kedua-dua kekunci bersekutu dan kekunci angka secara lalai. Setiap pasangan nilai kunci dipaparkan dua kali, membawa kepada output berganda yang anda perhatikan.

Penyelesaian:

Untuk mendapatkan semula kunci bersekutu sahaja, gunakan mysql_fetch_assoc dan bukannya mysql_fetch_array. Dengan melakukan ini, anda akan mengehadkan tatasusunan yang dikembalikan kepada hanya mengandungi kunci bersekutu, memadankan nama lajur dengan nilai masing-masing. Ini akan menyelesaikan isu output berganda:

<code class="php">$query_result_array = mysql_fetch_assoc($query_result);</code>

Sebagai alternatif, anda boleh menentukan parameter kedua mysql_fetch_array untuk mendapatkan sama ada kekunci bersekutu atau angka sahaja:

<code class="php">$query_result_array = mysql_fetch_array($query_result, MYSQL_ASSOC); // associative keys only
$query_result_array = mysql_fetch_array($query_result, MYSQL_NUM); // numeric keys only</code>

Dengan menggunakan mysql_fetch_assoc atau tetapan parameter kedua dengan sewajarnya, anda boleh menghapuskan data pendua dan mendapatkan satu contoh bagi setiap nilai dalam tatasusunan bersekutu.

Atas ialah kandungan terperinci Mengapakah `mysql_fetch_array` saya mengembalikan data pendua?. 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