Rumah >pembangunan bahagian belakang >tutorial php >Mengapa Adakah `mysql_fetch_array()` Menunjukkan 'menjangka parameter 1 menjadi sumber' dan Bagaimana Saya Boleh Membetulkannya?
Memahami "mysql_fetch_array()/mysql_fetch_assoc()/mysql_fetch_row()/mysql_num_rows dll... menjangkakan parameter 1 menjadi sumber">Apabila anda menghadapi ralat ini, ia menunjukkan bahawa salah satu fungsi mendapatkan semula pangkalan data (cth., mysql_fetch_array(), mysql_fetch_assoc(), dll.) sedang dipanggil dengan parameter yang tidak sah. Khususnya, parameter itu hendaklah sumber yang mewakili set hasil pangkalan data, tetapi ia sebaliknya merupakan nilai boolean.
Punca RalatPunca punca ini ralat biasanya merupakan pertanyaan pangkalan data yang gagal. Apabila pertanyaan gagal, mysql_* fungsi/kaedah mengembalikan palsu, yang boleh disalahtafsirkan sebagai nilai boolean. Akibatnya, apabila anda kemudiannya memanggil fungsi dapatkan semula dengan hasil palsu, ia membawa kepada ralat ini.
Membetulkan RalatUntuk menyelesaikan isu ini, anda mesti ikut langkah berikut:
Pertimbangkan kod berikut:
Dalam contoh ini, kami mula-mula semak hasil mysql_query() dan cetuskan ralat jika pertanyaan gagal. Kemudian, kami menghantar sumber $result dengan betul ke mysql_fetch_array() fungsi. Ini memastikan bahawa parameter yang sesuai digunakan, menghalang ralat daripada berlaku.$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 Adakah `mysql_fetch_array()` Menunjukkan 'menjangka parameter 1 menjadi sumber' dan Bagaimana Saya Boleh Membetulkannya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!