连接数据库错误

时间:2012-10-17 12:20:55

标签: php mysql database windows-7

我使用NetBeans来运行PHP代码。该代码用于更新公司服务器上的数据库表。所以我使用了代码:

$link = mysql_connect('192.168.X.X:X','X','X');
mysql_select_db('X',$link);
if (!$link) {die('Could not connect: ' . mysql_error());}
            echo 'Connected successfully';
            mysql_close($link);

但是当我点击运行时,会返回此错误消息:

( ! ) Warning: mysql_connect() [function.mysql-connect]: Can't connect to MySQL server on '192.168.0.140' (10060) in C:\wamp\www\database\index.php on line 9
( ! ) Warning: mysql_select_db(): supplied argument is not a valid MySQL-Link resource in C:\wamp\www\database\index.php on line 10
Call Stack

3 个答案:

答案 0 :(得分:2)

第一个错误是不言自明的。 PHP无法连接到给定主机上的数据库。为什么这可能需要您进一步调查(SQL服务器是否正在运行?是否配置为接受非本地连接?是否有防火墙保护SQL服务器正在侦听的端口?)

第二个错误是由于你没有费心去检查连接是否成功而只是假设确实如此。如果无法建立连接,则mysql_connect将返回false。在确定您具有有效的开放连接之前,您需要检查这一点。

$link = mysql_connect('192.168.X.X:X','X','X');
if (false !== $link)
{
    mysql_select_db('X',$link);
    // Rest of your code goes here
}

顺便说一下,您应该考虑不推荐使用mysql_ *函数。有更好的替代品,如mysqli或PDO,你应该使用其中之一。 The manual page on PHP.net就替代方案提出了一些建议。

答案 1 :(得分:0)

原因可能是

MySQL服务器未运行。

MySQL的配置文件指定它只侦听某个IP:端口并且您没有通过指定的地址进行通信

用于向MySQL服务器进行身份验证的用户名不允许从客户端计算机的IP地址/主机进行连接

有关详细信息,请查看以下链接

http://dev.mysql.com/doc/refman/5.1/en/can-not-connect-to-server.html

答案 2 :(得分:0)

你可以检查你的mysql日志来检测问题。很难说出究竟是什么问题。 可能是您的服务器未配置为通过IP进行远程连接。如果这是你可以使用的问题,只要脚本在同一台服务器上

$link = mysql_connect('localhost','X','X') or die('error connecting to db');