Rumah >pembangunan bahagian belakang >tutorial php >Mengapa kod PHP saya melemparkan ralat 'Amaran: mysql_fetch_array(): Argumen yang Dibekalkan Bukan Keputusan MySQL yang Sah'?

Mengapa kod PHP saya melemparkan ralat 'Amaran: mysql_fetch_array(): Argumen yang Dibekalkan Bukan Keputusan MySQL yang Sah'?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-19 18:22:12983semak imbas

Why is my PHP code throwing a

Amaran: mysql_fetch_array(): Argumen yang Dibekalkan Bukan Keputusan MySQL yang Sah

Masalah:

Mesej ralat "Amaran: mysql_fetch_array(): argumen yang dibekalkan bukan hasil MySQL yang sah [pendua]" menunjukkan isu dengan mengakses hasil pertanyaan pangkalan data.

Penyiasatan:

Untuk menyelesaikan masalah ralat ini, ikuti langkah berikut:

  1. Semak Sambungan Pangkalan Data: Pastikan bahawa Kelas DbConnector dimulakan dengan betul dan menyambung ke pangkalan data.
  2. Sahkan Pertanyaan: Semak sintaks pertanyaan SQL yang sedang dilaksanakan dalam $result = $connector->query('SELECT ...') baris. Pastikan pertanyaan itu sah dan mengembalikan set hasil.
  3. **Periksa mysql_error(): Selepas melaksanakan pertanyaan, semak sebarang ralat menggunakan mysql_error(). Ini akan memberikan maklumat tambahan tentang punca kegagalan.
  4. Semak Fungsi fetchArray: Fungsi fetchArray dalam kelas DbConnector bertanggungjawab untuk mengekstrak tatasusunan hasil daripada pertanyaan. Semak sama ada argumen $result ialah sumber yang sah yang mewakili hasil pertanyaan.

Penyelesaian:

Berdasarkan penyiasatan, punca yang paling mungkin ialah isu dengan pertanyaan itu sendiri. Semak sebarang ralat tipografi atau ketidakkonsistenan logik yang mungkin menghalang pertanyaan daripada dilaksanakan dengan betul. Sebagai alternatif, jika pertanyaan adalah besar atau kompleks, pertimbangkan untuk menggunakan pernyataan yang disediakan untuk mengelakkan kelemahan suntikan.

Selain itu, menggunakan versi diubah suai fungsi pertanyaan dalam kelas DbConnector seperti yang dicadangkan dalam jawapan boleh membantu dengan membuang pengecualian dengan maklumat ralat khusus sekiranya pertanyaan tidak sah. Ini akan memudahkan penyelesaian masalah pada masa hadapan.

Atas ialah kandungan terperinci Mengapa kod PHP saya melemparkan ralat 'Amaran: mysql_fetch_array(): Argumen yang Dibekalkan Bukan Keputusan 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