2013-04-03 39 views
0

我有一个连接到一个数据库中读取值的简单的PHP页面,这一切似乎工作正常,当我把它部署在本地。但是,当我部署到我的服务器,然后它不会连接 - 它看起来像它是忽略我的连接文件,并使用默认值...?连接访问被拒绝的用户WWW的数据

<?php 
//Database details 
include "Connection.php"; 
$db_handle = mysql_connect($server, $user_name, $password); 
$db_found = mysql_select_db($database, $db_handle); 
?> 

//Contents of Connection.php 
<?php 
    $user_name = "sam"; 
$password = "123456"; 
$database = "clubleague"; 
$server = "localhost"; 
?> 

错误我得到的回复是:

访问被拒绝的用户 'www数据' @ 'localhost' 的(使用密码:NO)。

我会期望它说拒绝访问用户“山姆”,而不是www数据? 在phpMyAdmin中,我有一个名为Sam的用户连接到数据库,并且我已经尝试给它提供针对Global和本地数据库的完全权限,但没有喜悦。任何提示,建议让它连接我的凭据?

+0

[**在新的代码,请不要使用'mysql_ *'功能**](http://bit.ly/phpmsql)。他们不再被维护[并且被正式弃用](http://j.mp/XqV7Lp)。看到[**红框**](http://j.mp/Te9zIL)?学习[*准备的语句*](http://j.mp/T9hLWi),并使用[PDO](http://php.net/pdo)或[MySQLi](http://php.net/ mysqli) - [这篇文章](http://j.mp/QEx8IB)将帮助你决定哪个。如果你选择PDO,[这里是一个很好的教程](http://j.mp/PoWehJ)。 – rekire

+0

确保您的凭证正常。 –

回答

1

mysql_connect似乎通过了空的$server,$user_name$password

默认情况下它连接到默认通过UNIX套接字使用PHP解释器下运行的凭据(在你的情况是Apache的凭证)的本地服务器。

最有可能会反映在Web服务器日志(“未定义的变量:在...服务器”)和类似的。

请检查Connection.php确实存在,实际上被包括在内。

+0

由于某种原因,我现在还不知道,我使用的密码包含特殊字符。当我将密码更改为“1234”时,它就起作用了。密码只是暂时的,但仍然令人困惑。 – Adrian

2

它看起来像你的,不包含“Connection.php”。为避免这种情况,请检查文件路径,并使用“require”代替“include”(http://php.net/manual/en/function.require.php)。在这种情况下,“require”会引发错误,并且您不会错过它们。

相关问题