我尝试使用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")
答案 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
网站和数据库都是本地的,都是?