【问题标题】:Warning: mysqli_connect(): (HY000/1045): Access denied for user 'root'@'localhost' (using password: YES) Could not connect database警告:mysqli_connect(): (HY000/1045): Access denied for user 'root'@'localhost' (using password: YES) 无法连接数据库
【发布时间】:2018-06-15 20:26:20
【问题描述】:

我在连接到我在 phpmyadmin 上创建的数据库时遇到问题...我使用 MAMP 作为本地服务器。 我已经检查了几件事,甚至“config.ini.php”文件,那里的数据与我数据库的“用户”数据相匹配,而且“用户”拥有所有权限。 我什至尝试了不同的替代方案作为主机名: localhost, localhost:3306, 127.0.0.1...甚至是我自己的ip。

我现在很迷茫……有什么想法吗? 代码如下:

<?php
$mysql_hostname = "localhost";
$mysql_user = "root";
$mysql_password = "mypassword";
$mysql_database = "mydatabase";
$prefix = "";
$bd = mysqli_connect($mysql_hostname, $mysql_user, $mysql_password) or die("Could not connect database");
mysqli_select_db($bd, $mysql_database) or die("Could not select database");
?>

【问题讨论】:

  • MariaDB?不要使用root用户。
  • 这里只是一点说明:您应该为连接使用更精确的变量。 “bd”对我来说有点误导,因为这两个字母经常被用作法语版本的“base de données”,意思是英语中的“数据库”。我以为您将该数据库声明作为第一个参数。所以你可以看到它是多么令人困惑。
  • 你需要通过使用mysqli_connect_error()secure.php.net/manual/en/function.mysqli-connect.php来找出它失败的原因
  • 现在是凌晨 3 点,所以我明天会检查该功能...谢谢!

标签: php mysql forms login


【解决方案1】:

转到您的 PHPmyadmin 并在 Mysql DB 中运行以下查询

GRANT ALL PRIVILEGES on yourdbname.tablename TO 'user'@'localhost';

然后运行查询,FLUSH PRIVILEGES

你也可以试试 GRANT USAGE ON yourdbname.tablename TO 'user'@'localhost';**** 之后运行查询,**FLUSH PRIVILEGES

如果您仍然无法访问,您可以在用户表中验证是否任何权限都没有 N。

【讨论】:

    【解决方案2】:

    注意:它应该遵循以下顺序: 1.主机名 2.用户名 3.密码 4. 数据库名称

    这在写作时很重要,所以应该这样写。

    <?php 
    $hostname = "localhost"; 
    $username = "root"; 
    $password = ""; 
    $database = "akshata"; 
    
    $data= mysqli_connect($hostname,$username,$password,$database); 
    if($data) {
     echo "database connected"; 
    } else {
     echo "database not connected"; 
    } 
    
    ?> 
    

    【讨论】:

    【解决方案3】:

    你设置密码了吗? 还是创建了一个用户?

    如果不只是尝试

    $mysql_hostname = "本地主机";

    $mysql_user = "root";

    $mysql_password = "";

    $mysql_database = "我的数据库";

    Wamp/Xamp 的基本原理是(对我而言,我想对所有人而言?) 如果我误解了问题,我很抱歉!

    【讨论】:

    • 我用各自的密码创建了 1 个用户,并为“root”提供了一个密码……我在代码中使用的那个是“config.ini.php”中描述的那个" 文件,这与我给 "root" 的密码相同的文件...
    • 您是否考虑过使用 myadmin 并在那里创建用户?
    • 创建数据库后我在phpmyadmin上创建了用户。
    • 我刚刚检查了 config.ini 文件以查看是否一切都相等
    • 嗯,你可以为你的 myadmin 用户制作一个屏幕或其他东西吗?
    猜你喜欢
    • 2014-09-30
    • 2016-09-28
    • 2012-04-28
    • 2023-03-23
    • 1970-01-01
    • 1970-01-01
    • 2019-06-26
    相关资源
    最近更新 更多