Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Amaran PHP: mysql_fetch_array() mengharapkan penyelesaian parameter

Amaran PHP: mysql_fetch_array() mengharapkan penyelesaian parameter

PHPz
PHPzasal
2023-06-24 18:34:221722semak imbas

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.

Ringkasan

Apabila 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!

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