我有运行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);
欢迎任何建议。谢谢!
答案 0 :(得分:3)
傻瓜的错误信息:
Access denied for user 'root'@'localhost' (using password: NO)
它有三个部分,每个部分都包含重要信息。我们来看看:
现在享有您拥有的特权:
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');