2014-01-30 138 views
-1

我有PHP脚本和MySQL数据库。 我里面有下面的代码:访问被拒绝...连接到MySQL DB

mysql_connect("myserver.com", "mylogin", "mypass"); 
mysql_select_db("ggg"); 
$a = mysql_query("..."); 
echo mysql_error(); 

但它显示我:

访问被拒绝的 '根' @ 'localhost' 的(使用密码:NO)

为什么?在php.ini中,我没有指定任何默认设置。请帮助我

+2

你的密码是错误的家伙 –

+0

你有创建数据库“GGG”和获准为用户mylogin“,密码为“为mypass”访问它? – ashatch

+0

@ashatch是的,我有。 – TN888

回答

2

你的用户名和密码都为空字符串,而不是不管你认为他们是。我怎么知道这个?

  1. "Using password : NO"表示您根本没有发送密码。正如你知道你是否使用了错误信息。

  2. 'root'@'localhost'是当你不提供任何东西时通常的默认用户。


另外,请允许我重申chill0r已经发布。我想请您务必阅读本:

但是,这不是你的主要问题:

不要使用mysql_ *函数了。它们易于注射并且已经过时。有关更多信息,请参见http://www.php.net/manual/en/function.mysql-query.php

+0

好吧,我知道......你的回答并不能解决任何问题 – TN888

+1

你“知道”你把空字符串,而不是正确的用户名和密码?那你为什么要问我们呢?把你的实际用户名和密码,然后它会工作。 – miyasudokoro

+0

我知道**是什么导致了这个错误**,我不知道如何解决它 – TN888

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

+3

标识符是可选的 – kero

+0

另外一个用于说不使用mysql扩展功能。 – miyasudokoro

+1

@kingkero hm好的。从来没有看到这一点。长时间没有使用'mysql_ *'函数(只使用自5.1.0起的pdo) – chill0r

-3

你的MySQL设置拒绝没有密码的用户“root”的访问。 更改以下为true的config.inc.php为你的MySQL设置:

$cfg['Servers'][$i]['AllowNoPassword'] = false; // change to true 

心连心

+0

Ty只想要这样做,如果他想让他的数据库更容易被任何有互联网连接的人访问。 – miyasudokoro

+1

mysql!= phpmyadmin .... – Wrikken

+0

他想知道为什么它不能使用用户名和密码。不知道如何使他的系统不安全 – chill0r