我编写了一些 PHP 网页使用的函数,以便与 mysql 数据库交互。当我在我的服务器上测试它们时,我收到此错误:
"Connect failed: Access denied for user 'root'@'localhost' (using password: YES)"
我可以在我的电脑上使用它们(使用 XAMPP),并且可以使用服务器中的命令行浏览数据库表。但网页无法连接。我检查了密码,但没有结果。这是正确的(否则我无法从命令行登录mysql)。
该函数的调用如下:
$conn = new mysqli("localhost", "root", "password", "shop");
我必须在我的服务器中设置一些东西吗?谢谢
编辑: PHP版本5.3.3-7+squeeze1 MySQL版本:5.1.49-3 都在 debian 上
最佳答案
我是这样解决的: 我使用 root 用户名登录
mysql -u root -p -h localhost
我创建了一个新用户
CREATE USER 'francesco'@'localhost' IDENTIFIED BY 'some_pass';
然后我创建了数据库
CREATE DATABASE shop;
我向新用户授予了该数据库的权限
GRANT ALL PRIVILEGES ON shop.* TO 'francesco'@'localhost';
然后我注销了 root 并登录了新用户
quit;
mysql -u francesco -p -h localhost
我使用脚本重建了数据库
source shop.sql;
就是这样..现在从 php 可以正常调用了
$conn = new mysqli("localhost", "francesco", "some_pass", "shop");
感谢大家的宝贵时间:)
关于php - "Connect failed: Access denied for user ' root '@' localhost ' (using password: YES)"来自php函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61557075/