Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Amaran PHP: Argumen tidak sah dibekalkan untuk penyelesaian mysql_fetch_array().

Amaran PHP: Argumen tidak sah dibekalkan untuk penyelesaian mysql_fetch_array().

王林
王林asal
2023-06-25 10:13:251329semak imbas

Dalam proses menggunakan pengaturcaraan PHP, kami sering menghadapi pelbagai gesaan ralat. Antaranya, Amaran PHP: Argumen tidak sah yang dibekalkan untuk ralat mysql_fetch_array() adalah ralat yang agak biasa. Mesej ralat ini biasanya menunjukkan bahawa parameter fungsi mysql_fetch_array() tidak betul, menyebabkan panggilan fungsi gagal. Jadi, bagaimana kita membetulkan ralat ini? Artikel ini akan memperkenalkan secara terperinci penyelesaian kepada Amaran PHP: Argumen tidak sah dibekalkan untuk ralat mysql_fetch_array().

Pertama sekali, kita perlu memahami punca kesilapan ini. Mesej ralat ini menunjukkan bahawa parameter telah dihantar secara salah semasa memanggil mysql_fetch_array(). Biasanya terdapat dua situasi di mana ralat ini berlaku:

  1. Parameter tidak diluluskan dengan betul: mysql_fetch_array() perlu menerima objek set hasil sebagai parameter Jika objek set hasil tidak diluluskan dengan betul, ralat ini akan berlaku.
  2. Objek set hasil telah diproses: Jika objek set hasil telah diproses, ralat ini akan berlaku apabila mysql_fetch_array() dipanggil semula untuk mendapatkan hasil pertanyaan pangkalan data.

Jadi, bagaimana untuk membetulkan ralat ini? Berikut ialah beberapa penyelesaian biasa:

Kaedah 1: Semak sama ada parameter yang diluluskan adalah betul

Pertama, kita perlu menyemak sama ada parameter fungsi mysql_fetch_array() adalah betul. Pastikan parameter yang diluluskan adalah betul Anda boleh cuba mencetak parameter untuk melihat jika terdapat ralat.

Kaedah 2: Semak sama ada objek set hasil telah diproses ). Walau bagaimanapun, sebelum menggunakan objek set hasil, kita perlu menyemak sama ada objek set hasil telah diproses Jika ia telah diproses, fungsi mysql_fetch_array() tidak boleh dipanggil semula. Ini boleh digunakan untuk menentukan sama ada objek set hasil kosong melalui fungsi mysql_num_rows().

Kaedah 3: Semak sama ada pangkalan data disambungkan

Jika Amaran PHP: Argumen tidak sah yang dibekalkan untuk ralat mysql_fetch_array() berlaku, anda juga perlu menyemak sama ada pangkalan data berjaya disambungkan. Jika pangkalan data tidak disambungkan atau sambungan gagal, objek set hasil yang dikembalikan dengan memanggil fungsi mysql_query() akan kosong, menyebabkan fungsi mysql_fetch_array() gagal. Anda boleh menggunakan fungsi mysql_connect() dan fungsi mysql_select_db() untuk menyambung ke pangkalan data.

Kaedah 4: Gunakan sambungan mysqli atau PDO

Jika tiada kaedah di atas dapat menyelesaikan masalah, anda boleh pertimbangkan untuk menggunakan sambungan mysqli atau PDO. Mysqli ialah sambungan baharu dalam PHP5 dan ke atas Ia menyokong kaedah pengaturcaraan berorientasikan objek dan proses, memberikan lebih banyak fungsi dan kecekapan yang lebih baik. PDO ialah sambungan pangkalan data lain dalam PHP5 dan ke atas Ia adalah lapisan abstraksi yang boleh menyokong pelbagai jenis pangkalan data. Gunakan sambungan mysqli atau PDO untuk mengelakkan Amaran PHP: Argumen tidak sah dibekalkan untuk ralat mysql_fetch_array().

Ringkasnya, Amaran PHP: Argumen tidak sah yang dibekalkan untuk ralat mysql_fetch_array() biasanya disebabkan oleh parameter fungsi mysql_fetch_array() yang salah. Apabila menyelesaikan masalah ini, anda perlu menyemak sama ada parameter adalah betul, dan kemudian semak sama ada objek set hasil telah diproses dan sama ada pangkalan data telah berjaya disambungkan. Jika tiada kaedah di atas menyelesaikan masalah, anda boleh mempertimbangkan untuk menggunakan sambungan mysqli atau PDO. Sudah tentu, apabila kesilapan seperti ini berlaku, kita harus belajar lebih banyak tentang kekurangan diri sendiri, belajar lebih banyak dan memahami lebih lanjut, dan mengelakkan kesilapan yang sama berulang.

Atas ialah kandungan terperinci Amaran PHP: Argumen tidak sah dibekalkan untuk penyelesaian mysql_fetch_array().. 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