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

Pri*_*iki 2 php

在共享托管服务器中配置数据库时出现此错误

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()); 
?> 
Run Code Online (Sandbox Code Playgroud)

小智 6

在大多数情况下,此错误可能与最近更改 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 
Run Code Online (Sandbox Code Playgroud)

这将通过重置密码并重新启动 cpanel 来解决。

重启cpanel的命令是/scripts/restartsrv_cpsrvd


小智 6

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