当前位置: 首页 > 知识库问答 >
问题:

在php中使用身份验证连接到数据库时出错

袁泰平
2023-03-14

错误是:

> < li>

无法连接到MySQL:用户“ZEBRAHEAD”@“localhost”的访问被拒绝(使用密码:是)

DB_USER使用的是计算机的名称。

身份验证.php

<?php

$authorized = FALSE;

if ((isset($_SERVER['PHP_AUTH_USER']) AND isset($_SERVER['PHP_AUTH_PW'])))
{
    define ('DB_USER','ZEBRAHEAD');
    define ('DB_PASSWORD','password');
    define ('DB_HOST','localhost');
    define ('DB_NAME','registration');

    $dbc = mysql_connect (DB_HOST,DB_USER,DB_PASSWORD) OR die ('Could not  connect to MySQL: '.mysql_error());
    mysql_select_db (DB_NAME) OR die ('Could not select the database: '.mysql_error());

    $query ="SELECT first_name FROM users WHERE username='{$_SERVER['PHP_AUTH_USER']}' AND password=PASSWORD('{$_SERVER['PHP_AUTH_PW']}')";
    $result = mysql_query($query);
    $row=mysql_fetch_array ($result);
    if ($row)
    {
        $authorized = TRUE;
    }
}

if(!$authorized) 
{
    header('WWW-Authenticate: Basic realm="My WebSite"');
    header ('HTTP/1.0 401 Unauthorized');
}
?>

index.php

<?php

require_once('authentication.php');
?>
<html>
<head></head>
<body>
if ($authorized)
{
    echo "<p>Please enter a valid username and password!</p>";
}
else
{
    echo "<p>You have been authenticated!</p>";
}
?>
</body>
</html>

共有3个答案

郭阳泽
2023-03-14

你可以在这里看到我的帖子,我认为你的问题出在密码或用户权限上。试试这个

define ('DB_PASSWORD','');

然后检查权限

华泽语
2023-03-14

首先确保您使用的是正确的用户名。要检查所有用户,请执行以下查询:

从mysql.User中选择用户;

一旦从上面的查询结果中确认你使用了正确的用户名,现在确保你的密码是正确的。

乔宏峻
2023-03-14

检查用户的权限并给予大权限

 类似资料:
  • 在android studio 3.1.3中,用于链接firebase身份验证的“implementation'com.google.firebase:firebase-auth:11.6.0'”和用于链接firebase数据库的“implementation'com.google.firebase:firebase-database:11.8.0'”是app level Gradle中提供的默认

  • 我使用SASL DIGEST-MD5身份验证机制通过LDAP连接到Active Directory(Windows Server 2008 R2)时遇到问题。我收到下一个错误: 身份验证失败-[LDAP:错误代码49-8009030C:LDAPPER:DSID-0C09004DC,注释:AcceptSecurityContext错误,数据52e,v1db1] 不同的客户端报告相同的错误。使用相同凭

  • 无法使用Java连接SQL server。 使用SQL server management studio时,我可以连接到MFA帐户,但使用src时,我不能连接到MFA帐户。

  • 我的Android应用程序中有Firebase身份验证。我的问题是如何在经过身份验证的用户(出现在Firebase控制台的选项卡)和数据库(选项卡)之间建立链接。 我需要通过中出现的将数据库中的数据与中的相关用户链接,并最终发送有关特定的查询,以获取

  • 我正在尝试制作一个适配器,它将显示给listview实时数据库内容。 带适配器返回null得身份验证: 类: 请求布局:

  • 我是OracleDB的新手。我正在研究在不提供用户名和密码的情况下将客户端应用程序连接到服务器上的Oracle DB。我的理解是正确的,这可以通过使用钱包来实现吗?我用我的笔记本电脑作为客户端和服务器来测试这一点。 我使用为客户端和服务器端创建钱包,如下所示: 将证书从一侧装入另一侧的钱包。 显示钱包会得到以下结果: 我从上面了解到,服务器和客户端现在相互信任,因此有利于建立连接。 服务器设置文件