Php mysql_connect():拒绝用户“adminryan”@“localhost”的访问(使用密码:是)

Php mysql_connect():拒绝用户“adminryan”@“localhost”的访问(使用密码:是),php,mysql,sql,login,Php,Mysql,Sql,Login,我对PHP和mySQL非常陌生,我一直在尝试使用apache和mySQL服务器通过xampp创建登录。我一直在犯这个错误,有人能解释一下这个错误的真正含义吗?我见过一些人问这个问题,但答案通常只与他们的代码有关。我也会提供我的代码。如果有人对我所做的感兴趣,我一直在观看这一系列youtube教程。希望有人能帮忙谢谢!我的代码如下: <?php $username = "yolo"; $password = "swag"; $hostname = "localhost"; $dbhandl

我对PHP和mySQL非常陌生,我一直在尝试使用apache和mySQL服务器通过xampp创建登录。我一直在犯这个错误,有人能解释一下这个错误的真正含义吗?我见过一些人问这个问题,但答案通常只与他们的代码有关。我也会提供我的代码。如果有人对我所做的感兴趣,我一直在观看这一系列youtube教程。希望有人能帮忙谢谢!我的代码如下:

<?php
$username = "yolo";
$password = "swag";
$hostname = "localhost";

$dbhandle = mysql_connect($hostname, $username, $password) or die("Could not connect to database");

$selected = mysql_select_db("login", $dbhandle);

$myusername = $_POST['user'];
$mypassword = $_POST['pass'];

$myusername = stripslashes($myusername);
$mypassword = stripslashes($mypassword);

$query = "SELECT * FROM logon WHERE Username='$myusername' and Password='$mypassword'";
$result = mysql_query($query);
$count = mysql_num_rows($result);

mysql_close();

if($count==1){
    echo 'It worked!';
}

?>

错误是关于建立到mySQL服务器的连接。 用户“adminryan”无法连接到服务器“localhost”,尝试连接时使用了密码。 这可能有几个原因,例如:

用户adminryan不存在。 提供的密码错误。 提供的服务器名错误。 用户adminryan没有适当的权限。 等 你的密码是:

$dbhandle = mysql_connect($hostname, $username, $password) or die("Could not connect to database");
所以我想知道为什么您看到了您给出的错误,而不是无法连接到数据库。 我希望mysql_connect将返回FALSE,因此将执行无法连接到数据库。死后的所有代码。。。不会被处决的

它与$query=。。。 我不能,但我会投票否决穆罕默德和ArtisticPhoenix的评论,因为他们对你提供的错误没有任何意义。 按照您的代码,这一行将不会被执行


请务必切换到PDO或至少是mysqli。

以便为遇到此错误的其他人提供可能的解决方案,并确认用户名、密码和数据库确实存在。我遇到了同样的错误,当重新构造请求时,我能够得到期望的结果

$username = 'username';
$password = 'password';
$db = mysql_connect('localhost', $username, $password);
mysql_select_db("database",$db);
在我的实例中,我使用了完整的用户名和数据库。因此,这似乎取决于您的cpanel帐户用户名。例如,如果我的域cpanel登录名是mydata,那么我的用户名将是mydata\u用户名,我的数据库将是mydata\u数据库

现在我不知道这是否重要,我没有用另一种方法测试它,我有过几次这样的错误,这是一个对我有效的解决方案。我不知道为什么它会起作用,因为我不是专家,但它确实起了作用,值得其他遇到同样问题的人尝试一下


这段代码与我以前的代码(类似于此错误)之间的唯一区别是我使用了引号。此代码使用单引号,前面的代码使用双引号。

这可能意味着您的登录无效/密码不正确/帐户不存在。它的意思是:该用户名没有使用数据库的权限。连接查询$query=从登录中选择*,其中Username='.$myusername.'和Password='.$mypassword';这是一个危险的坏代码,我希望它不会出现在公共互联网上。如果您是PHP新手,请使用类似的方法,而不是采用20世纪90年代最糟糕的做法。确保有一位导游愿意回答其他问题。您的错误,这意味着这段代码是一个巨大的片段。如果您是PHP和MySQL新手,那么您就有机会不了解那些不推荐使用的MySQL函数。最好从一开始就使用PDO或mysqli,并搜索更好、不太过时的教程。乍一看,这似乎不错。