警告:mysqli_connect():(42000/1044):第4行---。php中的用户'-----'@'localhost'访问数据库'----'的访问被拒绝
无法连接到MySQL
$db = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME) or die("Unable to connect to MySQL");
这就是我的联系方式。如果从那里删除DB_NAME,则不会出现错误并连接数据库,但是每当添加DB_NAME时,都会出现此错误。 DB_NAME绝对正确,但是我不明白为什么?顺便说一下,对于DB_HOST,我使用localhost。
- -解决了 - -
我终于解决了问题。所以,对于那些有相同问题的人,我将解释一切。实际上,我决定在查询之前使用表名,然后mysqli给了我另一个错误,说“对用户的INSERT命令被拒绝...”之类的东西,因此,我打开phpMyAdmin并将DB_USER更改为在数据库服务器中写入的名称phpMyAdmin部分。您将看到类似这样的内容。
Server: Localhost via UNIX socket
Server type: MySQL
Server version: 5.5.42-cll - MySQL Community Server (GPL)
Protocol version: 10
User: -HERE-
Server charset: UTF-8 Unicode (utf8)
因此,您需要使用用户名,该用户名写在用户部分。更改DB_USER后,我可以添加DB_NAME。基本上,我遇到的所有问题(无法使用DB_NAME以及无法使用sql命令)都引起了我的许可。
关键部分是;我使用的是DB_NAME,我曾经在服务器中创建数据库,但它也让我连接到数据库,但正如我所见,它不是根目录。因此,如果遇到“拒绝”错误,请确保检查在mysqli_connect中键入的值!
最佳答案
您可以使用
@ mysqli_connect(hostname, username, password, database)
要么
@mysqli_connect(hostname,username, password)
@ mysqli_select_db(true, database);
要么
$con=mysqli_connect("localhost","my_user","my_password","my_db");
if (mysqli_connect_errno())
{
echo "Failed : mysqli_connect_error();
}
mysqli_select_db($con,"db");