开发者社区> 问答> 正文

来自PHP函数的“连接失败:用户'root'@'localhost'的访问被拒绝(使用密码:是)”

我编写了php网页使用的一些函数,以便与mysql数据库进行交互。当我在服务器上测试它们时,出现此错误:

"Connect failed: Access denied for user 'root'@'localhost' (using password: YES)" 我可以在我的PC上使用它们(使用XAMPP),并且可以使用服务器中的命令行浏览数据库的表。但是,网页无法连接。我检查了密码,但没有结果。是正确的(否则我无法从命令行登录mysql)。

该函数的调用如下:

$conn = new mysqli("localhost", "root", "password", "shop"); 我必须在服务器中设置一些内容吗?谢谢

编辑:PHP版本5.3.3-7 + squeeze1 mysql版本:5.1.49-3都在debian上

展开
收起
保持可爱mmm 2020-05-10 20:34:32 602 0
1 条回答
写回答
取消 提交回答
  • 我以这种方式解决:我以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"); 感谢您的时间:)来源:stack overflow

    2020-05-10 20:34:46
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
PHP 2017.北京 全球开发者大会——高可用的PHP 立即下载
PHP安全开发:从白帽角度做安全 立即下载
复杂PHP系统性能瓶颈排查及优化 立即下载