mysql_connect()总是拒绝访问

时间:2012-04-11 13:16:48

标签: php mysql phpmyadmin mamp mysql-connect

我有运行MAMP的phpMyAdmin,我发现无法使用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

授予'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

我很难过。我用密码创建了新用户,只是为了获得相同的结果。奇怪的是它总是说(using password: NO),即使我尝试以密码用户身份进行连接:

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

欢迎任何建议。谢谢!

5 个答案:

答案 0 :(得分:3)

傻瓜的错误信息:

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

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

  1. 拒绝访问 - 简单来说,这意味着:迷路!不要试图联系我。
  2. 用户'root'@'localhost' - 表示拒绝访问该用户的用户。名称: root 和(@)以下服务器: localhost
  3. 使用密码:否 - 只是一些不错的附加信息,在尝试访问和提供用户名时,未使用密码。
  4. 现在享有您拥有的特权:

    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'需要使用密码才能获得访问权限。正如错误消息告诉您的那样,您没有使用密码。因此可能是错误的原因,密码丢失。

    添加密码,然后重试。

答案 1 :(得分:2)

您忘记输入密码了。如果我猜对了,则哈希81F5E21E35407D884A6CD4A731AEBFB6AF209E1B密码为“root”(确认输入此SQL语句:SELECT PASSWORD('root')

尝试使用正确的密码登录:

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

答案 2 :(得分:1)

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

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

其中,password是root帐户的密码。可能会有所不同。

答案 3 :(得分:1)

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

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

答案 4 :(得分:1)

mysql_connect函数中的第一个参数是db host,你需要使用3个参数 - 使用密码。

所以请使用以下语法:

$ db = mysql_connect('localhost','mysql_user','mysql_password');