根据您显示的 mysql_connect 语句,您正在尝试以admin@'127.0.0.1'
. 这需要使用 TCP/IP 连接到 mysql。如果按此方式连接,admin@localhost
则使用 mysql.sock(套接字文件)连接到 mysqld。
您应该运行此查询
SELECT user,host,password FROM mysql.user WHERE user='admin';
您应该看到admin@localhost
已定义。你可能不会看到admin@'127.0.0.1'
。您可以添加它,但只为admin@localhost
.
尝试按如下方式更改您的代码:
mysql_connect ("localhost", "admin", "password") or die('Could not connect: ' . mysql_error());;
mysql_select_db ("datatable");
如果你不用密码也能连接mysql,那么你的mysql安装就不安全了。
您需要为 admin@localhost 添加密码并删除匿名用户登录,如下所示:
UPDATE mysql.user SET password=password('whateverpassword')
where user='admin' and host='localhost';
DELETE FROM mysql.user WHERE user='';
FLUSH PRIVILEGES;
这是另一个建议:像这样创建 admin@127.0.0.1 用户:
GRANT ALL PRIVILEGES ON *.* TO admin@'127.0.0.1' IDENTIFIED BY 'whateverpassword';
并尝试您的原始代码