Cara menyelesaikan PHP Fatal error: Panggilan ke undefined function mysql_query() dalam file.php dalam talian Antaranya, PHP Fatal error: Call to undefined function mysql_query() in file.php on line X adalah salah satu ralat biasa. Ralat ini biasanya disebabkan oleh pustaka sambungan MySQL tidak dikonfigurasikan atau dimuatkan dengan betul. Artikel ini menerangkan cara menyelesaikan ralat ini dan memberikan contoh kod yang sepadan.
Pertama, kita perlu memastikan MySQL telah dipasang dengan betul dan perpustakaan sambungan yang sepadan telah dimuatkan. Bagi pengguna yang menggunakan XAMPP, WAMP dan alatan lain yang serupa, perpustakaan sambungan MySQL biasanya terbina dalam dan dimuatkan melalui fail konfigurasi. Jika alatan ini tidak digunakan, anda boleh menentukan sama ada pustaka sambungan MySQL telah dimuatkan dengan menyemak konfigurasi dalam fail php.ini. Di sini, kami menganggap bahawa perpustakaan sambungan MySQL telah dipasang dan dimuatkan dengan betul.
Apabila menghadapi ralat PHP Fatal: Panggil ke ralat mysql_query() fungsi yang tidak ditentukan, sebabnya biasanya kerana fungsi MySQL yang betul tidak digunakan. Bermula dari PHP versi 5.5, fungsi sambungan MySQL ditamatkan, dan secara rasmi disyorkan untuk menggunakan perpustakaan sambungan MySQLi atau PDO untuk mengendalikan pangkalan data. Oleh itu, kita perlu menggunakan fungsi alternatif ini untuk menyelesaikan ralat ini.
Berikut ialah contoh kod yang menunjukkan cara menggunakan perpustakaan sambungan MySQLi untuk menyambung ke pangkalan data dan melaksanakan operasi pertanyaan:
$conn = new mysqli('localhost', 'username', 'password ', 'database ');
if ($conn->connect_error) {
die('连接数据库失败: ' . $conn->connect_error);
$sql = 'SELECT * FROM users';
$result = $conn->query($sql);
jika ($ result->num_rows > 0) {
while ($row = $result->fetch_assoc()) { echo '用户名:' . $row['username'] . ', 邮箱:' . $row['email'] . '<br>'; }
} lain {
echo '没有找到用户';
}
$conn->close();
?>
Dalam kod di atas, kami mula-mula menggunakan kelas mysqli untuk membuat Sambungan ke pangkalan data MySQL. Jika sambungan gagal, kami akan mencetak mesej ralat yang sesuai dan menamatkan skrip. Kami kemudiannya melaksanakan pertanyaan melalui kaedah query() dan menyimpan keputusan dalam pembolehubah $result. Seterusnya, kami menentukan sama ada terdapat data melalui atribut num_rows Jika terdapat data, gunakan kaedah fetch_assoc() untuk merentasi set hasil dan mengeluarkan maklumat pengguna yang sepadan. Akhir sekali, kami menutup sambungan ke pangkalan data melalui kaedah close().
Jika anda lebih suka menggunakan perpustakaan sambungan PDO, berikut ialah contoh kod yang serupa:
$dsn = 'mysql:host=localhost;dbname=database';
$username = 'username'; $password = 'password';
cuba {
$conn = new PDO($dsn, $username, $password); $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $sql = 'SELECT * FROM users'; $stmt = $conn->query($sql); while($row = $stmt->fetch(PDO::FETCH_ASSOC)) { echo '用户名:' . $row['username'] . ', 邮箱:' . $row['email'] . '<br>'; }
echo '连接数据库失败: ' . $e->getMessage(); exit;
?>
Dalam kod di atas, kami mula-mula membuat sambungan PDO dan menetapkan mod ralat untuk membuang pengecualian. Kami kemudiannya melaksanakan pertanyaan melalui kaedah query() dan mendapatkan set keputusan untuk setiap baris menggunakan kaedah fetch(). Akhirnya, kami menutup sambungan.
Atas ialah kandungan terperinci 如何解决PHP Ralat maut: Panggilan ke fungsi yang tidak ditentukan mysql_query() dalam file.php pada baris X. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!