2014-01-27 9 views
8

Es gibt Unmengen von Fragen zu diesem Thema auf Stack Overflow gestellt, aber keiner von ihnen entspricht meinem Fall.PDO :: __ Konstrukt(): php_network_getaddresses: getaddrinfo fehlgeschlagen: Name oder Service nicht bekannt

Ich benutze Lampp mit PHP 5.4.7 und es lief gut, bis ich mein erstes PDO-Programm in PHP entwickelte.

Wenn ich

verwenden

$con=new PDO("mysql:host='localhost';dbname='data';charset=utf8",'root','');

zum Anschluss bekomme ich diese error.Do Ich brauche etwas in php.ini aktivieren?

+0

(* bezogen *) [Warum ist PHP PDO DSN ein anderes Format für MySQL im Vergleich zu PostgreSQL?] (Http://stackoverflow.com/questions/237367/why -is-php-pdo-dsn-a-anders-format-for-mysql-gegen-postgresql) –

Antwort

12

"mysql: host = 'localhost'; dbname = 'Daten'; charset = UTF-8"

Ihr DSN-Format ist falsch, es sollte diese Anführungszeichen nicht enthalten. Dies ist das richtige Format

//$con=new PDO($dsn, $user, $password); 
$con=new PDO('mysql:dbname=testdb;host=127.0.0.1','root',''); 

See Manual

+0

: Danke, es hat funktioniert. Die Zitate waren ein Problem. –

3

Versuchen localhost ip statt mit: 127.0.0.1 und entfernen Sie die Anführungszeichen um dbname und host:

$con=new PDO("mysql:host=127.0.0.1;dbname=data;charset=utf8",'root','');

+1

Ich hatte eine ähnliche nach dem letzten Update. Mein env enthielt "localhost" und ich fing plötzlich an, den Fehler in der Frage zu bekommen. Dann habe ich es in 127.0.0.1 geändert und es funktioniert. Irgendeine Erklärung dafür? –

Verwandte Themen