2014-01-27 38 views
8

Stack Overflow上有很多关于此主题的问题,但它们都不匹配我的案例。PDO :: __ construct():php_network_getaddresses:getaddrinfo失败:名称或服务未知

我正在使用Lampp与PHP 5.4.7,它运行良好,直到我开发我的第一个PDO程序在PHP中。

当我使用

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

连接我得到这个error.Do我需要激活php.ini的东西吗?

+0

(*有关*)为什么PHP PDO DSN为MySQL与PostgreSQL的不同的格式?(http://stackoverflow.com/questions/237367/why -is-php-pdo -dsn -a -format-for-mysql-versus-postgresql) –

回答

12

“MySQL的:主机= 'localhost' 的;数据库名= '数据';字符集= utf-8”

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

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

See Manual

+0

:雅谢谢它的工作。报价是一个问题。 –

3

尝试使用本地主机的IP来代替:127.0.0.1和删除周围dbname和主机报价:

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

+1

最近更新之后,我有类似的问题。我的env包含“本地主机”,我突然开始发现问题中的错误。然后我将其更改为127.0.0.1,并且它可以正常工作。对此有何解释? –

相关问题