Ralat Dilemparkan: Kegagalan Jangkaan Sumber
Apabila cuba mengakses data daripada jadual MySQL, anda mungkin menghadapi ralat yang berbunyi: "mysql_fetch_array()/mysql_fetch_assoc()/mysql_fetch_row()/mysql_num_rows dll... menjangkakan parameter 1 sebagai sumber, boolean diberikan."
Penjelasan
>Ralat ini dicetuskan apabila pertanyaan MySQL gagal, selalunya disebabkan oleh sintaks yang salah, ralat logik, medan hilang atau isu sambungan pangkalan data. Akibatnya, pembolehubah $result yang diberikan daripada fungsi mysql_query() mengembalikan false.
Penyelesaian
Untuk menyelesaikan ralat ini, anda mesti menyemak sama ada pembolehubah $result adalah palsu sebelum cuba melakukan sebarang operasi selanjutnya. Dokumentasi fungsi mysql_query() menyediakan butiran tentang nilai pulangan yang mungkin dan mencadangkan langkah untuk mengendalikan kegagalan.
Untuk sambungan mysql_, gunakan mysql_error() untuk mendapatkan butiran ralat dan mencetuskan mesej ralat yang sesuai menggunakan trigger_error(). Kod yang disemak berikut termasuk pengendalian ralat:
$username = mysql_real_escape_string($_POST['username']); $password = $_POST['password']; $result = mysql_query("SELECT * FROM Users WHERE UserName LIKE '$username'"); if ($result === FALSE) { trigger_error(mysql_error(), E_USER_ERROR); } while ($row = mysql_fetch_array($result)) { echo $row['FirstName']; }
Atas ialah kandungan terperinci Mengapa Pengambilan MySQL Melemparkan Ralat 'Kegagalan Jangkaan Sumber'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!