【问题标题】:I get connection error when I add my database name in connection在连接中添加数据库名称时出现连接错误
【发布时间】:2015-03-30 07:07:26
【问题描述】:

警告:mysqli_connect(): (42000/1044): 第 4 行 ---.php 中的用户 '-----'@'localhost' 拒绝访问数据库 '----' 无法连接到 MySQL

$db = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME) or die("Unable to connect to MySQL");

这就是我的连接方式。如果我从那里删除 DB_NAME,我不会收到错误并连接数据库,但是每当我添加 DB_NAME 时,我都会收到此错误。 DB_NAME 绝对正确,但我不明白为什么?顺便说一下 DB_HOST,我用的是 localhost。


---已解决---

我终于解决了这个问题。所以,对于那些有同样问题的人,我会解释一切。实际上,我决定在查询之前使用表名,然后 mysqli 给了我另一个错误,比如“INSERT command denied to user ...” 所以,我打开了 phpMyAdmin 并将我的 DB_USER 更改为数据库服务器中写入的名称phpMyAdmin 中的部分。你会看到这样的东西;

Server: Localhost via UNIX socket
Server type: MySQL
Server version: 5.5.42-cll - MySQL Community Server (GPL)
Protocol version: 10
User: -HERE-
Server charset: UTF-8 Unicode (utf8)

所以你需要使用写在用户部分的用户名。更改我的 DB_USER 后,我能够添加 DB_NAME。基本上我遇到的所有问题(无法使用 DB_NAME 和无法使用 sql 命令)都引起了我的许可。

关键部分是;我使用的是 DB_NAME,我用它在我的服务器中创建数据库,它也让我连接到数据库,但我可以看到它不是根。因此,如果您遇到“拒绝”错误,请确保检查您在 mysqli_connect 中键入的值!

【问题讨论】:

标签: php mysql mysqli


【解决方案1】:

你可以使用

@ mysqli_connect(hostname, username, password, database)

@mysqli_connect(hostname,username, password) 
@ mysqli_select_db(true, database);

$con=mysqli_connect("localhost","my_user","my_password","my_db");
if (mysqli_connect_errno())
  {
  echo "Failed : mysqli_connect_error();
  }

mysqli_select_db($con,"db");

【讨论】:

    【解决方案2】:

    如果你使用的是本地主机,那么试试这个

    <?php
    
        $con = mysqli_connect("localhost", "root", "",  "YOUR_DB_NAME");
        if (mysqli_connect_error()) {
            die ("Could not Connect");
        }
    ?>
    

    如果您在线执行此操作,则将 localhost 替换为 host_name rootusername "" 替换为 password,最后是您的 DB_Name。我希望这能解决你的问题:)

    【讨论】:

      猜你喜欢
      • 2020-10-30
      • 1970-01-01
      • 2017-12-16
      • 2019-10-09
      • 1970-01-01
      • 2017-05-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多