gpt4 book ai didi

php - PDO连接不上,但是mysql_connect可以(没有PW)

转载 作者:可可西里 更新时间:2023-11-01 07:35:44 25 4
gpt4 key购买 nike

我真的遇到了一个奇怪的问题,它真的开始让我烦恼。这是关于连接的不同行为。我只是想设置 CakePHP,但 PDO 无法连接到 mysql 服务器。

Okey,一步一步:这是一台新电脑,我刚刚安装了 XAMPP(在 Win7 上)并下载了 CakePHP。没有做任何其他事情。在 phpMyAdmin 上,我用 PW“test”创建了一个用户“test”,他拥有数据库“test”。很简单,对吧?

在这里,phpMysqlAdmin 中用户/权限表的行:

User Host Password Global Rights GRANT
test % Yes USAGE No

现在,进入真正的问题:

这个有效:

$link = mysql_connect('localhost', 'test'); //<- not using the 3. parameter, 'password'

但是,什么应该起作用,却不起作用:

$link = mysql_connect('localhost', 'test', 'test'); //<- using the 3. parameter, 'password'

因为我似乎无法“删除”PDO 的“使用密码:是”,所以我也无法连接 PDO(蛋糕使用 PDO):

$dbh = new PDO('mysql:host=localhost;dbname=test', 'test', 'test');

错误信息:

Error!: SQLSTATE[28000] [1045] Access denied for user 'test'@'localhost' (using password: YES)

不可能这么复杂,我只想使用正确的凭据连接到新安装的数据库。我究竟做错了什么?我阅读了许多类似的问题,但没有找到解决我自己问题的方法。

是的,密码确实是“test”——我不知道为什么没有 PW 的 mysql_connect() 可以连接——它默认使用用户名作为 PW 吗?

这真的没那么难

感谢您的帮助,祝你有美好的一天。

编辑(问题的答案)

这里是数据库权限的条目(在用户中:测试):- 用户似乎真的拥有数据库“测试”的所有权限

Database Rights         GRANT 
test ALL PRIVILEGES Nein

最佳答案

GRANT ALL ON test.* TO test@localhost IDENTIFIED BY "test";

在 mysql shell 中运行上面的查询,一切都应该有效。

关于php - PDO连接不上,但是mysql_connect可以(没有PW),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10426885/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com