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

时间:2014-01-27 09:37:30

标签: php pdo

关于Stack Overflow的这个主题有很多问题,但没有一个与我的情况相符。

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

当我使用

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

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

3 个答案:

答案 0 :(得分:21)

  

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

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

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

See Manual

答案 1 :(得分:3)

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

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

答案 2 :(得分:0)

对于您有 .env 文件的情况。

请勿将 ' 用于数据库设置的值。
例如下面必须写:

DB_CONNECTION=mysql
DB_HOST=mariadb
DB_PORT=3306

不是!!! DB_CONNECTION='mysql'