Heim >Datenbank >MySQL-Tutorial >Wie behebt man „Verbindung fehlgeschlagen: SQLSTATE[HY000] [2002] Verbindung abgelehnt' in PHP-MySQL-Verbindungen?

Wie behebt man „Verbindung fehlgeschlagen: SQLSTATE[HY000] [2002] Verbindung abgelehnt' in PHP-MySQL-Verbindungen?

DDD
DDDOriginal
2024-12-11 09:41:11497Durchsuche

How to Fix

Behebung von „Verbindung fehlgeschlagen: SQLSTATE[HY000] [2002] Verbindung abgelehnt“ mit PHP

Beim Versuch, eine PHP-Verbindung zu einer auf phpMyAdmin gehosteten MySQL-Datenbank herzustellen, Benutzer stoßen möglicherweise auf den frustrierenden Fehler „Verbindung fehlgeschlagen: SQLSTATE[HY000] [2002] Verbindung abgelehnt.“ Dieser Fehler weist darauf hin, dass das PHP-Skript keine Verbindung zum Datenbankserver herstellen kann.

Betrachten Sie beispielsweise den folgenden PHP-Code:

$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();
}

Dieser Code versucht, mithilfe des PDO eine Verbindung zu einer MySQL-Datenbank herzustellen (PHP-Datenobjekte)-Objekt. Bei Verwendung der Verbindung über Postman tritt jedoch der Fehler „Verbindung fehlgeschlagen: SQLSTATE[HY000] [2002] Verbindung verweigert“ auf.

Zunächst könnte der Fehler „Verbindung fehlgeschlagen: SQLSTATE[HY000] [2002] auftreten ] Keine solche Datei oder Verzeichnis." Dies tritt auf, wenn der Servername auf „localhost“ gesetzt ist. Das Ändern des Servernamens in die IP-Adresse behebt dieses Problem, führt jedoch zum Fehler „Verbindung abgelehnt“.

Die Lösung für diese Verbindungsverweigerung liegt in der verwendeten Portnummer. Der Standardport für MySQL ist 3306. Für Verbindungen über MAMP sollte der Port jedoch auf 8889 eingestellt sein.

Durch Anpassen des Codes wie folgt wird das Verbindungsproblem behoben:

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

Mit Durch diese Änderung stellt das PHP-Skript über Port 8889 erfolgreich eine Verbindung zur MySQL-Datenbank her.

Das obige ist der detaillierte Inhalt vonWie behebt man „Verbindung fehlgeschlagen: SQLSTATE[HY000] [2002] Verbindung abgelehnt' in PHP-MySQL-Verbindungen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn