2012-04-11 143 views
0

我有phpMyAdmin与MAMP运行,我发现它不可能使用mysql_connect()。mysql_connect()总是拒绝访问

$_db_connect = mysql_connect("root", "localhost"); 

产生一个错误在php_error.log:mysql_connect() [<a href='function.mysql-connect'>function.mysql-connect</a>]: Access denied for user'root'@'localhost' (using password: NO) in /....../common.lib.php on line 19

我已经签出的特权:

GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY PASSWORD '*81F5E21E35407D884A6CD4A731AEBFB6AF209E1B' WITH GRANT OPTION 

GRANT PROXY ON '' @ '' TO '根' @”本地主机'的赞助选项

我简直难倒了。我使用密码创建了新用户以获得相同的结果。奇怪的是它总是说(using password: NO),甚至当我尝试连接的用户密码难熬:

$_db_connect = mysql_connect(MYSQL_HOST, MYSQL_USERNAME, MYSQL_PASSWORD); 

任何意见是值得欢迎的。谢谢!

+0

http://php.net/ manual/en/function.mysql-connect.php第三个参数应该是密码 – YamahaSY 2012-04-11 13:19:51

+0

你的根目录有密码mysql_connect('localhost','mysql_user','mysql_password');' – Vytautas 2012-04-11 13:20:26

+0

尝试密码“root”另请参阅我的答案 – rekire 2012-04-11 13:31:41

回答

1

您在函数中缺少密码。此外,该函数调用是错误的。这样做:

$_db_connect = mysql_connect("localhost", "root", "password"); 

其中,password是您的root帐户的密码。它可能不同。

+0

我试过了,正如我在原来的帖子中所说的那样,而且我的root帐户没有密码 – user1326581 2012-04-11 13:21:46

+0

但是错误声明指出:''* 81F5E21E35407D884A6CD4A731AEBFB6AF209E1B' r root密码(显然是加密的)。 – hjpotter92 2012-04-11 13:22:39

1

传递密码,作为第三个参数在mysql_connect函数

$_db_connect = mysql_connect("localhost", "root", "password"); 
1

第一个参数是数据库主机和您需要使用3个PARAMS - 使用密码。

所以使用以下语法:

$分贝=的mysql_connect( '本地主机', 'mysql_user', 'mysql_password');

3

傻瓜该错误消息:

Access denied for user 'root'@'localhost' (using password: NO) 

它有三个部分,每个部分的它包含的重要信息。让我们来看看:

  1. 拒绝访问 - 用通俗的话来说,这意味着:滚开!不要试图连接到我。
  2. 用户'root'@'localhost' - 这表示谁拒绝访问该用户。名称:和(@)以下服务器:localhost
  3. 使用密码:否 - 只是一些很好的附加信息,当试图访问和给用户名,没有使用密码。

所以现在与特权您有:

GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' 
IDENTIFIED BY PASSWORD '*81F5E21E35407D884A6CD4A731AEBFB6AF209E1B' 
WITH GRANT OPTION 
GRANT PROXY ON ''@'' TO 'root'@'localhost' WITH GRANT OPTION 

它基本上说,用户'root'@'localhost'需要使用密码来获得访问权。正如错误消息告诉你的,你没有使用密码。所以这可能是错误的原因,密码丢失。

添加密码,然后重试。

2

你忘了输入密码。如果我猜的没错,然后是散81F5E21E35407D884A6CD4A731AEBFB6AF209E1B密码“根”(确认进入这个SQL statment:SELECT PASSWORD('root')

尝试用正确的密码登录:

$_db_connect = mysql_connect("localhost", "root", "root");