Memahami Ralat Sumber MySQL
Apabila cuba mendapatkan data daripada jadual MySQL menggunakan fungsi prosedur MySQL, seperti mysql_fetch_array(), anda boleh menghadapi ralat: "mysql_fetch_array() menjangkakan parameter 1 menjadi sumber, boolean diberikan". Ralat ini biasanya berlaku apabila pertanyaan gagal disebabkan oleh pelbagai sebab.
Untuk menyelesaikan isu ini, adalah penting untuk menyemak nilai pembolehubah $result sebelum menghantarnya ke fungsi mysql_fetch_array(). Jika pertanyaan gagal, $result akan ditetapkan kepada false.
Contohnya, dalam kod PHP yang anda berikan:
$result = mysql_query('SELECT * FROM Users WHERE UserName LIKE $username');
Anda mempunyai ralat sintaks dalam pertanyaan SQL anda. Sintaks yang betul untuk operator LIKE ialah menggunakan petikan tunggal di sekitar rentetan carian:
$result = mysql_query("SELECT * FROM Users WHERE UserName LIKE '$username'");
Setelah anda membetulkan ralat sintaks, anda perlu menyemak sama ada $result tidak palsu, seperti berikut:
if($result !== FALSE) { while($row = mysql_fetch_array($result)) { echo $row['FirstName']; } } else { trigger_error(mysql_error(), E_USER_ERROR); }
Fungsi mysql_error() memberikan butiran lanjut tentang kegagalan pertanyaan, yang boleh anda paparkan kepada pengguna atau log untuk tujuan penyahpepijatan. Dengan mengendalikan ralat pertanyaan dengan betul, anda boleh mengelakkan ralat sumber PHP dan berjaya mendapatkan data daripada jadual MySQL.
Atas ialah kandungan terperinci Mengapakah `mysql_fetch_array()` Mengembalikan 'menjangkakan parameter 1 menjadi sumber, boolean diberikan'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!