我编写了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上
我以这种方式解决:我以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
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。