Fungsi mysql_fetch_array() dalam PHP biasanya digunakan untuk menukar set hasil pertanyaan kepada tatasusunan PHP. Walau bagaimanapun, apabila menggunakan fungsi mysql_fetch_array(), anda mungkin menghadapi ralat berikut:
"Amaran: mysql_fetch_array() menjangkakan parameter Jenis parameter yang diluluskan semasa panggilan adalah tidak betul. Dalam artikel ini, kita akan membincangkan punca ralat ini dan cara membetulkannya.
Sebab ralat
Ralat ini menunjukkan bahawa jenis parameter yang diluluskan dalam panggilan fungsi adalah tidak betul. Dalam fungsi mysql_fetch_array(), parameter pertama mestilah pengecam set hasil pertanyaan, dikembalikan oleh fungsi mysql_query().
Jika apa yang diluluskan bukan set hasil, tetapi nilai Boolean, ralat di atas akan berlaku. Biasanya, ralat ini disebabkan oleh sebab berikut:
1 Pertanyaan tidak dilaksanakan
Sebelum memanggil fungsi mysql_fetch_array(), anda mesti menggunakan fungsi mysql_query() untuk mengeluarkan permintaan pertanyaan dan mendapatkan set hasil. Jika pertanyaan tidak dilaksanakan, fungsi mysql_query() akan mengembalikan false sebagai nilai boolean, jadi apabila dihantar ke fungsi mysql_fetch_array(), ralat akan berlaku.
2. Kegagalan pertanyaan
Jika permintaan pertanyaan gagal dilaksanakan, palsu akan dikembalikan dan bukannya pengecam set hasil. Begitu juga, apabila cuba menghantar false kepada fungsi mysql_fetch_array(), ralat berlaku.
3. Menggunakan sintaks yang salah
Apabila menggunakan sintaks SQL yang salah, pertanyaan tidak akan dilaksanakan dan nilai palsu akan dikembalikan. Begitu juga, apabila cuba menghantar false kepada fungsi mysql_fetch_array(), ralat berlaku.
Penyelesaian
1 Periksa sama ada pertanyaan telah berjaya dilaksanakan
Sebelum memanggil fungsi mysql_fetch_array(), sila pastikan pertanyaan telah berjaya dilaksanakan menggunakan fungsi mysql_query() dan set pengecam telah diperoleh . Jika pertanyaan tidak berjaya dilaksanakan, fungsi mysql_query() akan mengembalikan palsu. Jadi sebelum memanggil fungsi mysql_fetch_array(), semak jika pertanyaan telah berjaya dilaksanakan seperti berikut:
$result = mysql_query("SELECT * FROM table_name");
if($result !== false) {
/ /Query successful
$row = mysql_fetch_array($result);
//Gunakan set hasil
}
lain {
//Soalan gagal
}
jika pertanyaan
gagal pelaksanaan tidak berjaya, anda mesti menyemak ralat dan menyelesaikan masalah. Coretan kod berikut menggambarkan cara menyemak kegagalan pertanyaan dan mengeluarkan mesej ralat: $result = mysql_query("SELECT * FROM table_name");if($result === false) {//Query failed echo "Mysql Ralat:" Pastikan SQL Sintaks adalah betul untuk mengelakkan kegagalan pertanyaan. Jika ragu-ragu, sila semak dokumentasi MySQL atau rujuk buku MySQL. RingkasanApabila menggunakan fungsi mysql_fetch_array(), jika mesej ralat "Amaran: mysql_fetch_array() menjangkakan parameter Adakah terdapat sintaks yang salah? Jika anda mengikut cadangan di atas, anda sepatutnya berjaya menyelesaikan ralat tersebut.Atas ialah kandungan terperinci Amaran PHP: mysql_fetch_array() mengharapkan penyelesaian parameter. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!