Rumah >pangkalan data >tutorial mysql >Mengapa Sambungan MySQL PHP Saya Menolak: Menyelesaikan Masalah 'SQLSTATE[HY000] [2002] Sambungan Ditolak'?

Mengapa Sambungan MySQL PHP Saya Menolak: Menyelesaikan Masalah 'SQLSTATE[HY000] [2002] Sambungan Ditolak'?

Susan Sarandon
Susan Sarandonasal
2024-12-15 07:31:09177semak imbas

Why is My PHP MySQL Connection Refusing: Troubleshooting

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!

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