3

我尝试使用 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 想要吗?

php版本:5.3.9

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

4

2 回答 2

4

是端口问题。USBwebsever使用 mysql 端口3307而不是3306,所以使用$db = new PDO('mysql:dbname=test;host=localhost:3307','user','pass');

于 2013-01-03T09:47:17.187 回答
0

描述:

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

这不是真的。

这是非常具有欺骗性的: • “目标机器”表示数据库服务器。• “主动拒绝”是指服务器收到请求并拒绝它。

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

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

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

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

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

于 2012-07-26T11:07:28.710 回答