InsaneCoder
InsaneCoder

Reputation: 8268

PDO::__construct(): php_network_getaddresses: getaddrinfo failed: Name or service not known

There are tons of questions asked on this topic on Stack Overflow, but none of them matches my case.

I am using Lampp with PHP 5.4.7 and it was running fine until I developed my first PDO program in PHP.

When I use

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

for connection I get this error.Do I need to activate something in php.ini?

Upvotes: 21

Views: 70611

Answers (3)

LucianDex
LucianDex

Reputation: 647

For the case when you have a .env file.

DO NOT USE ' (single quote) for values on DB settings.
For example the following must be written:

DB_CONNECTION=mysql
DB_HOST=mariadb
DB_PORT=3306

NOT!!! DB_CONNECTION='mysql' etc.

Upvotes: 2

Cjmarkham
Cjmarkham

Reputation: 9681

Try using localhost ip instead: 127.0.0.1 and remove the quotes around dbname and host:

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

Upvotes: 5

Hanky Panky
Hanky Panky

Reputation: 46900

"mysql:host='localhost';dbname='data';charset=utf8"

Your DSN format is wrong, it shouldn't have those quotes in there. This is the right format

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

See Manual

Upvotes: 26

Related Questions