2012-11-29 170 views
0

嗨我是PHP和MySQL的新手我已经在LAMP上创建了应用程序并上传到了net4.com上的一个网站托管公司。他们正在使用phpMyAdmin来连接数据库,当我尝试使用php连接到数据库并查询数据库时,我能够成功解决问题。我使用,我已经成功地使用我的本地机器上的mysql_connect()函数来连接到远程数据库即远程数据库连接字符串

$link = mysql_connect("118.67.248.12", "username", "password"); 

其中“118.67.248.12”是我的数据库所在的服务器的IP地址,它抛出以下错误:

"1045Access denied for user 'Technosaar'@'118.67.248.190' (using password: YES)"

,如果我“代替‘使用localhost 118.67.248.12’它引发以下错误:

"2002No connection could be made because the target machine actively refused it."

我已经窃听了愈伤组织ng“net4”支持guyz,但问题仍然存在有人请帮助我,五一节五一节!

+4

如果你还在学习PHP和MySQL的过程,请不要去了解'mysql_ *',因为它已被弃用。花一些时间阅读['PDO' here](http://www.php.net/PDO),或者如果需要的话,[mysqli_ *'连接](http://www.php.net/ mysqli_connect),它提供了一个非常类似于'mysql_ *'的API –

回答

0

后者(本地主机)不能正常工作我假设,因为Web服务器和数据库服务器不在同一台机器上运行。

您确定服务器上的密码设置正确吗?这看起来像一个身份验证错误给我。

0

“1045访问拒绝用户'Technosaar'@'118.67.248.190'(使用密码:YES)”暗示来自Web服务器的用户Technosaar缺少访问权限。 登录到phpMyAdmin,然后输入命令

show grants; 

show grants for '<myuser'@'<host>'; 

里面应该有

grant <privilege> on <mydatabase> to '<myuser>'@'<host>'

有一条线,你会看到什么样的访问权限配置为您的用户。如果未列出您的Web服务器,你必须你需要为你的数据库

grant all privileges on <mydatabase>.* to '<myuser>'@'<host>'; 

或任何特权。

当然,插入相应的数据库名称,用户名和网络服务器主机。