Rumah > Artikel > pembangunan bahagian belakang > Amaran PHP: mysql_query():Solution
PHP ialah bahasa skrip sebelah pelayan yang sangat popular yang sering digunakan untuk pembangunan web dinamik. Walau bagaimanapun, kadangkala anda akan melihat PHP melaporkan mesej amaran seperti ini: "Amaran PHP: mysql_query()", dan mencadangkan bahawa ralat berlaku dalam fungsi mysql_query(). Masalah ini sering berlaku apabila menggunakan PHP untuk menyambung ke pangkalan data MySQL. Jadi, bagaimana kita menyelesaikan masalah ini?
Secara umumnya, sebab PHP melaporkan amaran mysql_query() ialah ralat berlaku semasa memanggil fungsi ini. Ralat ini mungkin termasuk kegagalan untuk menyambung ke pangkalan data, pernyataan pertanyaan yang ditulis dengan salah, dsb. Untuk punca ralat yang berbeza, penyelesaian yang sepadan perlu diambil.
Berikut ialah beberapa penyelesaian biasa untuk rujukan:
Sebelum menggunakan fungsi mysql_query(), anda perlu membuat sambungan terlebih dahulu. Oleh itu, apabila amaran PHP Amaran: mysql_query() muncul, anda boleh menyemak sama ada anda berjaya menyambung ke pangkalan data. Anda boleh menggunakan fungsi mysql_connect() untuk mewujudkan sambungan, seperti yang ditunjukkan di bawah:
$link = mysql_connect('localhost', 'username', 'password'); if (!$link) { die('Could not connect: ' . mysql_error()); }
Anda perlu memastikan bahawa pembolehubah $link menyimpan nilai bukan nol, menunjukkan bahawa sambungan berjaya diwujudkan. Jika pembolehubah $link kosong, sambungan tidak berjaya dan anda perlu menyemak mesej ralat untuk menentukan punca ralat.
Jika sambungan pangkalan data telah berjaya diwujudkan, maka anda perlu menyemak sama ada pernyataan SQL itu betul. Kadangkala apabila menulis pernyataan SQL, masalah seperti kesilapan ejaan dan kesilapan tatabahasa mungkin berlaku, menyebabkan pertanyaan gagal. Anda boleh mencetak pernyataan SQL dan menggunakan output untuk menyelesaikan masalah.
$sql = "SELECT * FROM users WHERE id = 1"; $result = mysql_query($sql); if (!$result) { die('Invalid query: ' . mysql_error()); }
Sebelum menggunakan fungsi mysql_query(), anda perlu menyimpan pernyataan SQL ke dalam pembolehubah dan lulus pembolehubah sebagai parameter kepada fungsi tersebut. Jika ralat berlaku, fungsi mysql_error() mengembalikan mesej ralat.
PHP Amaran: mysql_query() amaran juga mungkin disebabkan oleh jadual data tidak wujud atau medan pertanyaan tidak wujud, menyebabkan pertanyaan gagal. Apabila menggunakan pernyataan SQL untuk menanyakan data, pastikan nama jadual dan medan adalah betul. Anda boleh menggunakan alat baris arahan MySQL atau alat klien MySQL untuk melihat struktur jadual data. Anda juga boleh menggunakan arahan SHOW TABLES dan DESC untuk menanyakan maklumat jadual data.
SHOW TABLES; DESC users;
Arahan di atas boleh melihat semua jadual data dalam pangkalan data dan maklumat struktur jadual pengguna. Anda boleh menggunakan baris arahan untuk menyemak sama ada maklumat jadual data adalah betul.
Selain menggunakan fungsi mysql_query() untuk melaksanakan pertanyaan, PHP juga menyediakan dua perpustakaan sambungan yang lebih berkuasa, PDO dan mysqli. Kedua-dua perpustakaan sambungan ini menyediakan banyak ciri baharu untuk sambungan dan pertanyaan MySQL, dan boleh mengendalikan isu seperti suntikan SQL dengan lebih selamat. Menggunakan PDO dan mysqli mengelakkan masalah biasa apabila menggunakan fungsi mysql_query().
Untuk meringkaskan, apabila amaran PHP: mysql_query() muncul, anda perlu menyemak dahulu sama ada sambungan pangkalan data berjaya, dan kemudian menyemak sama ada pernyataan SQL adalah betul untuk memastikan bahawa jadual data wujud dan medan pertanyaan wujud. Jika masalah masih tidak dapat diselesaikan, anda boleh cuba menggunakan pustaka sambungan PDO atau mysqli, atau semak log ralat untuk menentukan punca masalah. Melalui kaedah ini, anda boleh menyelesaikan masalah amaran PHP Amaran: mysql_query() dengan berkesan.
Atas ialah kandungan terperinci Amaran PHP: mysql_query():Solution. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!