2014-02-24 23 views
1

这里试图为PHP/MySQL编写ASP/MS SQL人。我试图连接到MySQL数据库是这样的:连接到MySQL数据库的PHP错误

$cn1=mysqli_connect(gethostname(),"username","password","databasename"); 

,但我得到的错误:

Failed to connect to MySQL: Access denied for user 'username'@'r6-dallas.domain.com' (using password: YES) 

我的密码居然中有一个$。我逃避,像这样:

密码:123 $ 456 逃生:123 \ $ 456

我认为是正确的?除此之外,我正在动态获取主机名(请参见上文),并且将用户名和数据库名称从我的控制面板中复制出来。我可以尝试下一步尝试解决此问题?

谢谢!

+1

这是不正确的。 –

+1

访问被拒绝=用户名@主机/密码不正确。如果您尝试连接到SAME服务器上的mysql,请尝试使用“user @ localhost”。 –

+1

找出数据库服务器的位置。如果在网站的同一台机器上,通常它会是'localhost'(或者可能是'127.0.0.1')。如果在不同的机器上,您通常必须提供该机器的名称或IP地址。无论如何,我不认为'gethostname()'会为你工作。 –

回答

1

不要使用转义序列,只需在单引号之间输入实际的密码。

+2

如果在密码字符串中有$字面值,则只需使用单引号'将其封装,而PHP不会尝试扩展变量名称。如果你想用双引号“,你需要'\ $'。 –

1

单引号的字符串不被处理,并采取“原样”

$cn1=mysqli_connect(gethostname(),'username','pa$$word','databasename'); 
+0

我假设你的意思是在你的答案中使用单引号,而不是双引号 –

+0

你说得对,我只是从问题中复制它。它现在。 –