Rumah >pangkalan data >tutorial mysql >Mengapa Kod PHP Saya Melemparkan Ralat \'Amaran: mysql_fetch_assoc(): argumen yang dibekalkan bukan sumber hasil MySQL yang sah\'?

Mengapa Kod PHP Saya Melemparkan Ralat \'Amaran: mysql_fetch_assoc(): argumen yang dibekalkan bukan sumber hasil MySQL yang sah\'?

Patricia Arquette
Patricia Arquetteasal
2024-10-30 20:30:30263semak imbas

Why Does My PHP Code Throw a

Ralat Fungsi Pengambilan MySQL: Sumber Hasil Tidak Sah

Masalah:

Apabila menggunakan mysql_fetch () berfungsi dalam PHP untuk mendapatkan semula data daripada pertanyaan MySQL, anda mungkin menghadapi ralat berikut:

<code class="php">Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource</code>

Punca:

Ralat ini biasanya berlaku kerana $ pembolehubah hasil yang dihantar kepada mysql_fetch_assoc() tidak merujuk kepada sumber hasil MySQL yang sah. Ini boleh berlaku jika:

  • Pelaksanaan pertanyaan gagal dan mysql_query() mengembalikan palsu.
  • Pembolehubah $result telah ditimpa di tempat lain dalam kod.

Penyelesaian:

Untuk menyelesaikan ralat ini, pastikan perkara berikut:

  • Pertanyaan berjaya dilaksanakan dengan menyemak nilai pulangan mysql_query().
  • Pembolehubah $result tidak diubah suai atau ditulis ganti dalam gelung.

Berikut ialah contoh cara mengendalikan ralat:

<code class="php">$query = "SELECT UniqueID FROM configuration";
$result = mysql_query($query);

if (!$result) {
    die(mysql_error());
}

while ($row = mysql_fetch_assoc($result)) {
    // Do something with the row
}</code>

Nota Tambahan :

Seperti yang dinyatakan dalam mesej ralat itu sendiri, isu ini juga boleh disebabkan oleh penggunaan sumber hasil pendua. Pastikan anda tidak menggunakan semula sumber hasil yang sama untuk berbilang pertanyaan, kerana ini boleh membawa kepada hasil yang tidak dijangka.

Atas ialah kandungan terperinci Mengapa Kod PHP Saya Melemparkan Ralat \'Amaran: mysql_fetch_assoc(): argumen 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