PDO连接不起作用

时间:2012-07-26 11:00:57

标签: php pdo

我尝试使用PDO连接到mysql DB,但不起作用。 我写道:

 $db = new PDO('mysql:dbname=test;host=localhost','user','pass');

返回错误:

 Warning: PDO::__construct() [pdo.--construct]: [2002] No connection could be made because
 the target machine actively refused it.

请告诉我,PDO想要吗?

phpversion:5.3.9

主机:本地计算机,(服务器 - " usbwebserver")

2 个答案:

答案 0 :(得分:4)

这是一个端口问题。 USBwebsever使用mysql端口 3307 而不是 3306 ,因此请使用$db = new PDO('mysql:dbname=test;host=localhost:3307','user','pass');

答案 1 :(得分:0)

说明

如果当前没有连接并且在没有指定连接信息的情况下运行mysql_query,则mysql_error返回: “由于目标机器主动拒绝它,因此无法建立连接。”

事实并非如此。

这绝对具有欺骗性: •“目标计算机”表示数据库服务器。 •“主动拒绝”表示服务器收到请求并拒绝该请求。

这导致人们认为已提供无效凭据或未按预期配置指定帐户(Host =)。

应更改错误消息以反映不存在数据库连接(或连接信息)这一事实。

(当使用PDO和函数时,这尤其麻烦,因为函数只知道传递给它们的变量)

数据来源: https://bugs.php.net/bug.php?id=60315

网站和数据库都是本地的,都是?