最近在看一个大神的PHP后台入门介绍。

照着他介绍的搭好了XAMPP-APACHE+PHP的开发环境~

也一步步做了从面向过程→面向对象的PHP登陆验证功能~详情见后续传送门

然后在做PHP+MySQL,通过数据库查询认证用户信息时就来了问题了~总是提示我

mysqli::mysqli(): (HY000/1045): Access denied for user 'root'@'localhost'

wKioL1V49wHhZPu0AADNJ8CzPL0685.jpg网上搜索了一下这种问题还挺多的~

首先是要确定PHP开启了MySQL扩展,在php.ini文件中将MySQL语句之前的注释去掉。

试过之后并没有改善,又继续找

比如百度的http://jingyan.baidu.com/article/fedf07377da53e35ad897768.html

使用PHPAdmin来做,我照着这个也安了一下PHPAdmin也一步步的配置了config文件,结果还是不行。。

又看了几个帖子http://bbs.csdn.net/topics/70023712

http://blog.sina.com.cn/s/blog_759a5a7c01017dj0.html

其中新浪这里说到在本地cmd里面输入mysql -u root -p,我照着在本地输入用户名和密码,竟然也是ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

崩!那我自己平常创建的表都是怎么创建的呢?!

看一下我的MySQL吧,就是自己下载的MySQL,而没用XAMPP自带的MySQL(那里还没调通,等调好了再来分享~)

难道是。。我平常用的是MySQL Server,而不是MySQL。。所以我用MySQL Server的账号等不了本地的MySQL?

于是在我的mysql.user表里修改了root在localhost中的密码,在试试~

wKiom1V4-pWTJQ9pAAKi3oli77U316.jpg

现在的CMD里可以成功认证了。

wKiom1V4-xLi5oRIAAFV7gXuuvg652.jpg

然后~~

再回到APACHE里,此时的PHP代码也可以成功运行了,可以把我之前在数据库中创建的表的信息读取出来了~

wKiom1V4-3vxiYBFAABlJy7vEJI241.jpg

所以~如果你也遇到过类似的1045认证错误,

在检查好自己的PHP与MySQL配置之后如果还不行~先试试自己本地的MySQL是否能成功登陆,别也像我一样拿个错误的账号密码一直在试~