Rumah >pangkalan data >tutorial mysql >Mengapa PHP Melemparkan 'Ralat maut: Ralat Tidak Ditangkap: Panggilan ke fungsi yang tidak ditentukan mysql_connect()' dan Bagaimana Saya Boleh Membetulkannya?

Mengapa PHP Melemparkan 'Ralat maut: Ralat Tidak Ditangkap: Panggilan ke fungsi yang tidak ditentukan mysql_connect()' dan Bagaimana Saya Boleh Membetulkannya?

Barbara Streisand
Barbara Streisandasal
2024-12-11 07:06:12359semak imbas

Why is PHP Throwing a

Mengapa PHP Memaparkan "Ralat maut: Ralat Tidak Ditangkap: Panggilan ke fungsi yang tidak ditentukan mysql_connect()"?

Apabila cuba berinteraksi dengan Pangkalan data MySQL menggunakan XAMPP, adalah mungkin untuk menghadapi ralat "Ralat maut: Ralat Tidak Ditangkap: Panggil ke fungsi yang tidak ditentukan mysql_connect()." Ralat ini menunjukkan bahawa fungsi mysql_connect() tidak dikenali oleh PHP, menyebabkan sambungan gagal.

Memahami Masalah

Fungsi mysql_*, termasuk mysql_connect( ), telah ditamatkan dalam PHP 5.5 dan dialih keluar dalam PHP 7. Perubahan ini dibuat kerana kebimbangan tentang keselamatan dan prestasi. Jika anda masih menggunakan PHP 7 atau lebih baru, anda tidak akan dapat menggunakan mysql_connect() lagi.

Penyelesaian

Untuk menyelesaikan ralat ini, anda perlu dua alternatif:

  • MySQLi: MySQL Diperbaiki Sambungan (MySQLi) menyediakan set fungsi yang dikemas kini untuk menyambung dan berinteraksi dengan pangkalan data MySQL.
  • PDO (Objek Data PHP): PDO ialah lapisan abstraksi pangkalan data yang membolehkan anda berinteraksi dengan pangkalan data yang berbeza menggunakan API biasa, termasuk MySQL.

Contoh Penggunaan MySQLi:

$mysqli = new mysqli($mysql_hostname, $mysql_username, $mysql_password);
if ($mysqli->connect_error) {
    echo "Connection failed: " . $mysqli->connect_error;
}

Contoh Menggunakan PDO:

$pdo = new PDO("mysql:host=$mysql_hostname;dbname=$mysql_database", $mysql_username, $mysql_password);

Kesimpulan

Ingat untuk menggunakan MySQLi atau PDO apabila bekerja dengan pangkalan data MySQL dalam PHP 7 atau lebih baru. Dengan menggunakan alternatif moden ini, anda bukan sahaja akan menyelesaikan isu "Ralat maut: Ralat Tidak Ditangkap: Panggilan ke fungsi mysql_connect()" yang tidak ditentukan tetapi juga meningkatkan keselamatan dan prestasi interaksi pangkalan data anda.

Atas ialah kandungan terperinci Mengapa PHP Melemparkan 'Ralat maut: Ralat Tidak Ditangkap: Panggilan ke fungsi yang tidak ditentukan mysql_connect()' dan Bagaimana Saya Boleh Membetulkannya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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