【发布时间】:2022-01-05 03:13:43
【问题描述】:
所以我有这个网站。我想根据一些数据库数据编辑一个 div。
我发现一个相当简单的解决方案是连接mysqli("servername", "username", "password", "database")。
问题是,我无法连接到数据库
我认为这与我应该在 servername username 和 password 字段中输入的内容有关。
我已经尝试了服务器名称:
- 本地主机
- 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 是个坏主意。