【问题标题】:mysqli Could not connect [duplicate]mysqli无法连接[重复]
【发布时间】:2022-01-05 03:13:43
【问题描述】:

所以我有这个网站。我想根据一些数据库数据编辑一个 div。

我发现一个相当简单的解决方案是连接mysqli("servername", "username", "password", "database")

问题是,我无法连接到数据库

我认为这与我应该在 servername usernamepassword 字段中输入的内容有关。

我已经尝试了服务器名称:

  • 本地主机
  • damon.multiserver.gr(myphp 数据库的主机名)
  • 我还对 damon.multiserver.gr 执行了 nslookup 并使用了该 ip
  • 网站的网址

对于用户名:

  • 创建了具有所需权限的新用户

密码:

  • ""
  • 我创建的用户的密码

数据库元素有多种语言,包括希腊语。

$mysqli = new mysqli("localhost:3306", "root", "", "grcrenta_2020");
if($mysqli->connect_error) {
    exit('Could not connect');
}
...more code

提前感谢您的帮助:)

【问题讨论】:

  • 您是否尝试过输出$mysqli->connect_error 以查看其实际内容?如果您检查真正的错误消息而不是将其隐藏在自定义错误消息后面,则更容易调试。
  • 它说“用户'root'@'localhost'的访问被拒绝(使用密码:NO)”
  • 有多个可能的问题。 1)对于您的本地主机连接:在 MySQL 服务器上禁用 root 登录 2)在您的远程数据库上:用户是使用 'user'@'localhost' 创建的。这限制了用户只能从同一服务器进行连接。使用 'user'@'%' 开启远程访问 3) 远程服务器上的端口没有打开。
  • @stui - 大声笑,是的,但我可以证明该主机上的端口已打开。
  • 阅读所有关于授予用户权限的信息:您可以在很多地方找到此内容,例如 here。另外,不知道那个主机是什么,但是在黑客互联网上打开 3306 是个坏主意。

标签: php mysqli


【解决方案1】:

你可以试试这个:

$mysqli -> new mysqli(host, username, password, dbname, port, socket);

$mysqli = new mysqli("localhost", "root", "", "grcrenta_2020",3306);

【讨论】:

  • 你改变了什么?我们应该尝试什么?
猜你喜欢
  • 2013-07-13
  • 2015-05-10
  • 2015-06-02
  • 2018-01-11
  • 2016-05-23
  • 2023-03-11
  • 1970-01-01
  • 1970-01-01
  • 2017-02-28
相关资源
最近更新 更多