Rumah >pangkalan data >tutorial mysql >Mengapa saya mendapat ralat 'Amaran: mysqli_query() menjangkakan parameter 1 adalah mysqli, sumber diberi'?
mysqli_query() Amaran: Mencampurkan MySQL dan MySQLi Extensions
Ralat yang anda hadapi, "Amaran: mysqli_query() menjangkakan parameter 1 akan mysqli, sumber yang diberikan," menunjukkan ketidakpadanan antara sintaks yang digunakan untuk mysqli_query() dan jenis objek sambungan yang anda hantar kepadanya.
Dalam kod anda, anda telah mengisytiharkan sambungan menggunakan fungsi mysql_connect() , yang tergolong dalam sambungan mysql yang tidak digunakan lagi. Walau bagaimanapun, anda cuba menggunakan fungsi mysqli_query(), yang berfungsi dengan sambungan mysqli.
Untuk menyelesaikan isu ini, anda perlu menggunakan sambungan mysql atau mysqli secara konsisten sepanjang kod anda. Adalah disyorkan untuk menggunakan mysqli, kerana ia menawarkan fungsi dan keselamatan yang lebih baik ke atas sambungan mysql.
Berikut ialah perubahan yang diperlukan:
// Use mysqli instead of mysql for the connection $myConnection = mysqli_connect("$db_host", "$db_username", "$db_pass") or die ("could not connect to mysql"); // Use mysqli_select_db instead of mysql_select_db for database selection mysqli_select_db($myConnection, "mrmagicadam") or die ("no database");
Selain itu, anda boleh menggantikan semua kejadian mysql_fetch_array( ) dengan mysqli_fetch_array($query). Perubahan ini memastikan anda menggunakan fungsi yang betul untuk mendapatkan semula data daripada objek hasil mysqli.
Atas ialah kandungan terperinci Mengapa saya mendapat ralat 'Amaran: mysqli_query() menjangkakan parameter 1 adalah mysqli, sumber diberi'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!