Mengendalikan Kegagalan Pertanyaan dalam PHP MySQL Extensions
Apabila cuba mengekstrak data daripada jadual MySQL, kadangkala, ralat seperti "mysql_fetch_array() menjangkakan parameter 1 sebagai sumber, boolean diberikan" mungkin timbul. Ralat ini menunjukkan bahawa fungsi pertanyaan gagal, menyebabkan nilai boolean ("false") dan bukannya pemegang sumber yang dijangkakan.
Dalam kod PHP yang disediakan:
$result = mysql_query('SELECT * FROM Users WHERE UserName LIKE $username'); while($row = mysql_fetch_array($result)) { echo $row['FirstName']; }
Ralat berlaku kerana fungsi pertanyaan (mysql_query) boleh mengembalikan sama ada benar apabila pelaksanaan berjaya atau palsu sekiranya berlaku kegagalan. Perlu diingatkan bahawa pernyataan SQL yang disediakan mungkin gagal disebabkan oleh pelbagai sebab, seperti sintaks tidak sah atau jadual tidak wujud.
Untuk menyelesaikannya, anda harus menyemak hasil fungsi pertanyaan sebelum cuba mengambil baris menggunakan mysql_fetch_array. Jika $result menilai kepada false, ini menandakan bahawa pertanyaan itu gagal dan anda harus mengendalikan ralat itu dengan sewajarnya.
Untuk Sambungan MySQL yang Dihentikan:
if($result === FALSE) { trigger_error(mysql_error(), E_USER_ERROR); }
Untuk Sambungan MySQLi:
if($result->errno) { // Log or output the error message }
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menangani Kegagalan Pertanyaan Apabila Menggunakan Sambungan MySQL PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!