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
Lepaskan: 2024-12-19 18:22:12
asal
1023 orang telah melayarinya

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!

sumber:php.cn
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