webentwicklung-frage-antwort-db.com.de

SQLSTATE [HY000] [2002] php_network_getaddresses: getaddrinfo fehlgeschlagen: Knotenname oder Servername angegeben oder nicht bekannt

Mein Problem:


Ich verwende MAMP und Git, um meine PHP -Dateien mit SQL-Datenbankverbindung auf meinem Mac anzuzeigen und zu bearbeiten, und dann auf den Webserver zu schieben. Ich habe kürzlich ein Dateiverzeichnis hinzugefügt. Hier ist die Datei mit der SQL-Datenbankverbindung:

<?php
ob_start();
session_start();

//set timezone
date_default_timezone_set('America/New_York');

//database credentials
define('DBHOST','mysql.hostinger.co.uk');
define('DBUSER','u536535282_evan7');
define('DBPASS','...');
define('DBNAME','u536535282_dbsql');

//application address
define('DIR','http://w-o-l.ml/');
define('SITEEMAIL','[email protected]');

try {

    //create PDO connection
    $db = new PDO("mysql:Host='.DBHOST.';port=8889;dbname='.DBNAME, DBUSER, DBPASS.'");
    $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

} catch(PDOException $e) {
    //show error
    echo '<p>'.$e->getMessage().'</p>';
    exit;
}

//include the user class, pass in the database connection
include('classes/user.php');
$user = new User($db);

?>

Es wird jedoch auf der Seite der folgende Fehler zurückgegeben:

SQLSTATE [HY000] [2002] php_network_getaddresses: getaddrinfo fehlgeschlagen: Knotenname oder Servername angegeben oder nicht bekannt

Wie kann ich das beheben?


Ich kann meinen Fehler nicht sehen. Wenn also jemand darauf hinweisen könnte, wäre das hilfreich.

8
BuildNC

Ihre Zitate sind alle durcheinander.

$db = new PDO('mysql:Host='.DBHOST.';port=8889;dbname='.DBNAME, DBUSER, DBPASS);
6
miken32

Ich habe denselben Fehler mit dieser Codezeile festgestellt

$dsn = 'mysql:dbname=$dbname;Host=$Host;port=$port';

und ich konnte den Fehler beheben, indem ich die einfachen Anführungszeichen durch doppelte Anführungszeichen ersetzte.

$dsn = "mysql:dbname=$dbname;Host=$Host;port=$port";

ich habe zwei Tage lang online nach einer Lösung gesucht und konnte sie nicht finden, bis ich mich entschied, die oben genannten Änderungen vorzunehmen, und es funktionierte. Ich verstehe immer noch nicht, warum es nicht mit einfachen Anführungszeichen funktioniert.

0
Botle Khauhelo