Rumah  >  Artikel  >  pangkalan data  >  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
Barbara Streisandasal
2024-10-28 05:55:02145semak imbas

  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>

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>

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