Rumah  >  Artikel  >  pangkalan data  >  Mengapa MySQL Melemparkan Ralat \"Amaran: Argumen Tidak Sah untuk mysql_fetch_assoc\"?

Mengapa MySQL Melemparkan Ralat \"Amaran: Argumen Tidak Sah untuk mysql_fetch_assoc\"?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-10-27 20:42:01722semak imbas

Why Does MySQL Throw a

MySQL Warning: Invalid Argument for mysql_fetch_assoc

Isu:
Apabila cuba mendapatkan data dari MySQL pangkalan data, mesej ralat berikut ditemui:

mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource

Penjelasan:
Fungsi mysql_fetch_assoc() direka untuk mengekstrak baris daripada set hasil MySQL. Seperti namanya, ia menjangkakan sumber hasil yang sah sebagai hujah, yang mewakili pautan ke hasil carian pangkalan data. Walau bagaimanapun, dalam kes ini, hujah yang dihantar kepada fungsi itu bukanlah sumber hasil yang sah, mencetuskan ralat.

Penyelesaian:
Untuk menyelesaikan isu ini, pastikan pembolehubah ditetapkan kepada hasil pertanyaan MySQL anda ialah sumber hasil yang sah. Berikut ialah pecahan kod yang anda berikan:

<code class="php">$musicfiles = getmusicfiles($records['m_id']);</code>

Barisan ini melaksanakan fungsi getmusicfiles() dan memberikan hasilnya kepada pembolehubah $musicfiles. Sekarang, mari kita periksa fungsi getmusicfiles():

<code class="php">function getmusicfiles($m_id) {
    $music = "select * from music WHERE itemid=".$s_id;
    $result = getQuery($music, $l);
    return $result;
}</code>

Fungsi ini melaksanakan pertanyaan MySQL, memberikan hasil kepada pembolehubah $result, dan kemudian mengembalikannya. Adalah penting untuk ambil perhatian bahawa getQuery() tidak ditunjukkan dalam kod yang disediakan, jadi tidak mungkin untuk menganalisis sama ada ia mengambil semula sumber hasil dengan betul.

Setelah anda mengesahkan bahawa getQuery() mengembalikan sumber hasil yang sah , anda sepatutnya berjaya memanggil mysql_fetch_assoc($musicfiles). Ingat, fungsi menjangkakan sumber hasil yang sah sebagai hujahnya, jadi pastikan ia tersedia sebelum memanggil mysql_fetch_assoc().

Atas ialah kandungan terperinci Mengapa MySQL Melemparkan Ralat \"Amaran: Argumen Tidak Sah untuk mysql_fetch_assoc\"?. 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