Rumah >pangkalan data >tutorial mysql >Mengapa Sambungan MySQL PHP Saya Menolak: Menyelesaikan Masalah 'SQLSTATE[HY000] [2002] Sambungan Ditolak'?
Menyelesaikan masalah "Sambungan Gagal: SQLSTATE[HY000] [2002] Sambungan Ditolak" Ralat
Apabila menghadapi ralat "Sambungan gagal: SQLSTATE[ HY000] [2002] Sambungan ditolak" semasa sambungan pangkalan data PHP MySQL, di sana adalah beberapa faktor untuk disiasat.
Dalam senario yang diberikan, isu itu berkaitan dengan nombor port yang salah digunakan untuk sambungan. Konfigurasi awal menggunakan "localhost" sebagai nama pelayan, yang diselesaikan ke port 8888 pada MAMP. Walau bagaimanapun, pangkalan data sedang mendengar pada port 8889. Dengan mengubah suai kod untuk menentukan port 8889 secara eksplisit, sambungan telah berjaya diwujudkan:
$conn = new PDO("mysql:host=$servername;port=8889;dbname=AppDatabase", $username, $password);
Adalah penting untuk ambil perhatian bahawa menggunakan "localhost" kerana nama pelayan mungkin masih terhasil dalam ralat "Tiada fail atau direktori sedemikian" jika soket MySQL tidak dikonfigurasikan dengan betul pada sistem. Dalam kes sedemikian, menggunakan alamat IP eksplisit mesin hos adalah disyorkan.
Oleh itu, pengubahsuaian berikut memastikan sambungan berjaya tanpa menghadapi ralat "Sambungan ditolak" atau "Tiada fail atau direktori sedemikian":
$servername = "127.0.0.1"; $port = "8889"; ... $conn = new PDO("mysql:host=$servername;port=$port;dbname=AppDatabase", $username, $password);
Atas ialah kandungan terperinci Mengapa Sambungan MySQL PHP Saya Menolak: Menyelesaikan Masalah 'SQLSTATE[HY000] [2002] Sambungan Ditolak'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!