Rumah > pembangunan bahagian belakang > tutorial php > Mengapa Pengambilan MySQL Melemparkan Ralat 'Kegagalan Jangkaan Sumber'?

Mengapa Pengambilan MySQL Melemparkan Ralat 'Kegagalan Jangkaan Sumber'?

DDD
Lepaskan: 2024-12-27 21:16:10
asal
392 orang telah melayarinya

Why Does MySQL Fetching Throw a

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'];
}
Salin selepas log masuk

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!

Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan