PDO :: __ construct():php_network_getaddresses:getaddrinfo failed:名称或服务未知

Ins*_*der 18 php pdo

Stack Overflow上有关于此主题的大量问题,但它们都不符合我的情况.

我使用的是带有PHP 5.4.7的Lampp,它运行正常,直到我用PHP开发了我的第一个PDO程序.

我用的时候

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

连接我得到这个错误.我需要在php.ini中激活一些东西吗?

Han*_*nky 25

"MySQL的:主机= '本地主机'; DBNAME = '数据';字符集= UTF8"

您的DSN格式错误,它不应该有那些引号.这是正确的格式

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

见手册


Car*_*ham 5

尝试使用 localhost ip 代替:127.0.0.1并删除 dbname 和 host 周围的引号:

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

  • 最近更新后我也遇到了类似的情况。我的环境包含“localhost”,我突然开始收到问题中的错误。然后我将其更改为127.0.0.1并且它可以工作。对此有何解释? (2认同)