Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Betulkan 'Sambungan gagal: SQLSTATE[HY000] [2002] Sambungan ditolak' dalam Sambungan PHP MySQL?

Bagaimana untuk Betulkan 'Sambungan gagal: SQLSTATE[HY000] [2002] Sambungan ditolak' dalam Sambungan PHP MySQL?

DDD
Lepaskan: 2024-12-11 09:41:11
asal
522 orang telah melayarinya

How to Fix

Menyelesaikan "Sambungan gagal: SQLSTATE[HY000] [2002] Sambungan ditolak" dengan PHP

Apabila cuba mewujudkan sambungan PHP ke pangkalan data MySQL yang dihoskan pada phpMyAdmin, pengguna mungkin menghadapi ralat yang mengecewakan "Sambungan gagal: SQLSTATE[HY000] [2002] Sambungan ditolak." Ralat ini menunjukkan bahawa skrip PHP tidak boleh menyambung ke pelayan pangkalan data.

Sebagai contoh, pertimbangkan kod PHP berikut:

$servername = "127.0.0.1";
$username = "root";
$password = "root";

try {
    $conn = new PDO("mysql:host=$servername;dbname=AppDatabase", $username, $password);
    // set the PDO error mode to exception
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    echo "Connected successfully";
}
catch(PDOException $e)
{
    echo "Connection failed: " . $e->getMessage();
}
Salin selepas log masuk

Kod ini cuba menyambung ke pangkalan data MySQL menggunakan PDO (Objek Data PHP) objek. Walau bagaimanapun, apabila menggunakan sambungan melalui Posman, ralat "Sambungan gagal: SQLSTATE[HY000] [2002] Sambungan ditolak" berlaku.

Pada mulanya, seseorang mungkin menghadapi ralat "Sambungan gagal: SQLSTATE[HY000] [2002 ] Tiada fail atau direktori sedemikian." Ini berlaku apabila nama pelayan ditetapkan kepada "localhost." Menukar nama pelayan kepada alamat IP menangani isu ini tetapi mengakibatkan ralat "Sambungan ditolak".

Penyelesaian kepada penolakan sambungan ini terletak pada nombor port yang digunakan. Port lalai untuk MySQL ialah 3306. Walau bagaimanapun, untuk sambungan melalui MAMP, port hendaklah ditetapkan kepada 8889.

Melaraskan kod seperti berikut akan menyelesaikan isu sambungan:

$conn = new PDO("mysql:host=$servername;port=8889;dbname=AppDatabase", $username, $password); 
Salin selepas log masuk

Dengan pengubahsuaian ini, skrip PHP akan berjaya menyambung ke pangkalan data MySQL menggunakan port 8889.

Atas ialah kandungan terperinci Bagaimana untuk Betulkan 'Sambungan gagal: SQLSTATE[HY000] [2002] Sambungan ditolak' dalam Sambungan PHP MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan