我有PHP脚本和MySQL数据库。 我在里面有以下代码:
mysql_connect("myserver.com", "mylogin", "mypass");
mysql_select_db("ggg");
$a = mysql_query("...");
echo mysql_error();
但它告诉我:
拒绝访问'root'@'localhost'(使用密码:否)
为什么呢?在php.ini中,我没有指定任何默认设置。请帮帮我
答案 0 :(得分:2)
您的用户名和密码是空字符串,而不是您认为的任何字符串。我怎么知道这个?
"Using password : NO"
表示您根本没有发送密码。如你所知,你是否用Google搜索了你的错误信息。
'root'@'localhost'
是您不提供任何东西的常用默认用户。
另外,请允许我重申已发布的chill0r。我想确保你读到这个:
但这不是你的主要问题:
不要再使用mysql_ *函数了。它们容易注射并且过时。有关更多信息,请参阅http://www.php.net/manual/en/function.mysql-query.php。
答案 1 :(得分:1)
您从未存储过您的连接。 请参阅下面代码中的差异
$db = mysql_connect("myserver.com", "mylogin", "mypass");
mysql_select_db("ggg", $db);
$a = mysql_query("...");
echo mysql_error();
但这不是你的主要问题:
不要再使用mysql_*
功能了。它们容易注射并且过时。有关更多信息,请参阅http://www.php.net/manual/en/function.mysql-query.php。
答案 2 :(得分:-3)
您的MySQL设置拒绝用户“root”无密码访问。 在config.inc.php中为MySQL设置更改以下内容为true:
$cfg['Servers'][$i]['AllowNoPassword'] = false; // change to true
HTH