【问题标题】:mysqli_connect(): (28000/1045): Access denied for user 'username'@'localhost' (using password: YES)mysqli_connect(): (28000/1045): Access denied for user 'username'@'localhost' (使用密码: YES)
【发布时间】:2017-08-10 04:14:40
【问题描述】:

当我在共享主机服务器中配置数据库时出现此错误

mysqli_connect(): (28000/1045): 用户 'username'@'localhost' 的访问被拒绝(使用密码:YES)

但它在本地主机中正常工作。

<?php 
session_start();



if($_SERVER['HTTP_HOST']=="localhost")
{
$serverIp="localhost";
$userName="user1";
$password="XXXXX";
$dbname="example";

}else
{


$serverIp="localhost";
$userName="username";
$password="password";
$dbname="dbname";
}

$cn=mysqli_connect($serverIp,$userName,$password) OR Die("Couldn't Connect - ".mysql_error());
$link=mysql_select_db($dbname,$cn)or Die("Couldn't SELCECT - ".mysql_error()); 
?> 

【问题讨论】:

  • The hostname localhost has a special meaning. It is bound to the use of Unix domain sockets. It is not possible to open a TCP/IP connection using the hostname localhost you must use 127.0.0.1 instead.-php.net/manual/en/mysqli.quickstart.connections.php 你也在混司机。

标签: php


【解决方案1】:

只需更改您的 cpanel 密码即可。

【讨论】:

    【解决方案2】:

    在大多数情况下,此错误可能与最近更改 cpanel 密码或服务器迁移到新的托管服务器有关..

    所以当你远程连接时这工作正常但是当你尝试通过 phpmyadmin 的 cpanel 访问数据库时,你会得到这个

    you had the following error with php myadmin: mysqli_connect(): (28000/1045): Access denied for user 'wmct4s'@'localhost' (using password: YES) Undefined index: auth_type 

    只需重置密码并重新启动cpanel即可解决此问题。

    重启cpanel的命令是/scripts/restartsrv_cpsrvd

    【讨论】:

      【解决方案3】:

      您似乎在 else 块中插入了错误的凭据,您可以尝试将与 if 块相同的凭据放入并检查是否有效

      【讨论】:

        【解决方案4】:

        你的错误是你同时使用 mysql 和 mysqli 。 如果你想使用mysql,那么你可以写:

        $cn = mysql_connect($serverIp, 'mysql_user', 'mysql_password');
        $link = mysql_select_db($dbName,$cn);
        

        或者如果你想使用 mysqli 那么你可以写:

        $link= new mysqli($serverIp,$userName,$password,$dbName);
        

        【讨论】:

        • 你检查了我给你最后评论的mysqli程序吗?
        【解决方案5】:

        您不需要做任何事情,更不用说更改通行证了。改变它,肯定会奏效。谢谢

        【讨论】:

        • “您不需要……更改通行证。”和“改变它,它会起作用。”这似乎相互冲突,我读它的方式。你能改写吗?请注意,我将其读作“无需更改任何内容,甚至无需更改密码”。我可能是错的,作为一个非本地人......
        【解决方案6】:

        I believe this i the php admin mysqli_connect error.

        I found out this on my cpanel under MySQL Users No db_users.

        This the admin panel. WHM in this case also has no db user.

        重启我的主机解决了这个问题。然后#sudo service mysql 重启。在所有这些重置密码之前都是强制性的。

        【讨论】:

        • 请以文本形式将所有解释添加到您的答案中,而不是链接到图像
        • 理想情况下添加分步解决方案来解决问题。外部图片无法通过 Google 搜索,也不保证永久可用。
        猜你喜欢
        • 2021-03-04
        • 2014-09-30
        • 2021-12-27
        相关资源
        最近更新 更多