Heim >Datenbank >MySQL-Tutorial >Wie behebt man „Verbindung fehlgeschlagen: SQLSTATE[HY000] [2002] Verbindung abgelehnt' in PHP-MySQL-Verbindungen?
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!