2014-01-27 70 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,並且它可以正常工作。對此有何解釋? –

相關問題