Rumah > pangkalan data > tutorial mysql > Mengapa Saya Mendapat Amaran \'mysql_fetch_assoc(): yang dibekalkan bukan sumber hasil MySQL yang sah\'?

Mengapa Saya Mendapat Amaran \'mysql_fetch_assoc(): yang dibekalkan bukan sumber hasil MySQL yang sah\'?

Barbara Streisand
Lepaskan: 2024-10-28 05:55:02
asal
325 orang telah melayarinya

  Why Am I Getting the

"php warning mysql_fetch_assoc" Dibingungkan?

Apabila cuba mendapatkan data daripada pangkalan data MySQL, ia adalah perkara biasa untuk menghadapi "mysql_fetch" yang membingungkan (): argumen yang dibekalkan bukan amaran sumber hasil MySQL yang sah. Masalah ini timbul apabila hujah yang dihantar kepada fungsi mysql_fetch_assoc() bukan penunjuk set hasil yang sah.

Memahami Punca

Fungsi mysql_fetch_assoc() direka untuk ekstrak tatasusunan bersekutu daripada set hasil MySQL. Set hasil, seterusnya, diperoleh dengan melaksanakan pertanyaan dengan mysql_query(). Oleh itu, hujah yang dihantar kepada mysql_fetch_assoc() mestilah penunjuk set hasil yang sah, yang biasanya dikembalikan oleh mysql_query().

Menyelam ke dalam Kod

Dalam anda dengan menyediakan coretan kod, masalahnya terletak pada baris kedua:

<code class="php">$mus = mysql_fetch_assoc($musicfiles);</code>
Salin selepas log masuk

Pembolehubah $musicfiles tidak mengandungi penuding set hasil MySQL. Sebaliknya, ia mengandungi hasil panggilan fungsi untuk getmusicfiles(). Fungsi ini nampaknya sedang melaksanakan pertanyaan dan mengembalikan hasilnya (mungkin menggunakan mysql_query()), tetapi nilai pulangan tidak disimpan dalam pembolehubah.

Pendekatan yang Betul

Untuk menyelesaikan isu ini, anda perlu menetapkan hasil panggilan mysql_query() kepada pembolehubah. Begini cara anda boleh menulis semula bahagian kod anda yang berkaitan:

<code class="php">$result = getmusicfiles($records['m_id']);
$mus = mysql_fetch_assoc($result);</code>
Salin selepas log masuk

Dengan memperuntukkan hasil mysql_query() kepada $result, anda memastikan mysql_fetch_assoc() mempunyai penunjuk set hasil yang sah untuk digunakan.

Atas ialah kandungan terperinci Mengapa Saya Mendapat Amaran \'mysql_fetch_assoc(): yang dibekalkan bukan sumber hasil MySQL yang sah\'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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