与数据库的连接在localhost上有效,但不在线

时间:2019-09-25 14:53:56

标签: php mysql phpmyadmin

我的数据库在本地主机上的Mac上运行时运行良好。但是,当我使用filezilla在线上​​传代码时,会出现以下警告:

"Warning: mysqli::__construct() [mysqli.construct]: 
(HY000/1045):Access denied for user 'root'@'localhost' (using 
password: YES) in /users/hassib/www/markme/index.php on line 248
Access denied for user 'root'@'localhost' (using password: YES)

我在上面放置代码的服务器是hassib.bplaced.net。这是第248行的代码,在我的localhost上的Mac上正常运行。

$db = new mysqli('localhost','root','12345','markme');
if($db->connect_error):
  echo $db->connect_error;
endif;

为什么它可以在我的PC上运行,但是在我上传时不起作用?

3 个答案:

答案 0 :(得分:0)

首先在实时(在线)上创建数据库,并使用用户名和密码创建用户,并为此数据库添加用户,然后将此用户名和密码提供给mysqli()函数

答案 1 :(得分:0)

  

“警告:mysqli :: __ construct()[mysqli.construct]:   (HY000 / 1045):用户'root'@'localhost'的访问被拒绝(使用   密码:是)在/users/hassib/www/markme/index.php中的第248行   用户'root'@'localhost'的访问被拒绝(使用密码:是)

从上面的错误消息中,您似乎正在尝试与root用户而不是hassib连接

  • 确保在您的服务器上创建了数据库。

CREATE DATABASE markme;

  • 确保您已向服务器上的用户hassib授予特权。

GRANT ALL PRIVILEGES ON markme.* TO 'hassib'@'localhost' IDENTIFIED BY '12345';

答案 2 :(得分:0)

您确定localhost是托管服务提供商的正确主机吗?一些提供程序可以提供其他主机进行连接。请向您的提供者询问正确的主机。