PHP -MySQL:无法建立连接

时间:2011-12-05 17:03:42

标签: php mysql phpmyadmin

  

可能重复:
  mysql_fetch_array() expects parameter 1 to be resource, boolean given in select

我尝试连接mysql数据库。但是我收到了以下错误。

  

警告: mysql_connect():[2002]无法建立连接,因为目标计算机在tcp://localhost:3306上主动(尝试通过test.php进行连接)在线 5

     

警告mysql_connect():由于目标计算机主动拒绝连接,因此无法建立连接。在test.php上的行 5 警告:mysql_close()期望参数1为资源,布局为test.php 15

test.php的:

<?php
$link = mysql_connect(localhost, dbuser, dbpass);
if (!$link) {
   die('Could not connect: ' . mysql_error());
}
echo 'Connected successfully';
mysql_close($link);
?>

4 个答案:

答案 0 :(得分:8)

在运行PHP&amp; VirtualBox中的Windows Server 2008中的IIS7上的MySQL。事实证明,Windows主机文件没有localhost(127.0.0.1)的IPv4条目,因此找不到localhost到MySQL的路由。

我们将以下内容添加到解析它的hosts文件中:

127.0.0.1       localhost # Additional IPv4 entry
::1             localhost # Existing IPv6 localhost entry

参考:A brief description of PHP/MySQL Localhost via IPv4 & IPv6

答案 1 :(得分:1)

MySQL服务器未运行,或者您有防火墙阻止端口3306。

此错误消息表示系统未接受TCP连接请求。

答案 2 :(得分:1)

在my.ini中查找字符串:

bind-address = 127.0.0.1

从localhost更改为网络IP。

答案 3 :(得分:1)

错误地尝试连接到'localhost'(在Windows服务器上)时收到同样的消息。将连接字符串修复到正确的(远程)服务器后,错误消失。