При работе с базами данных MySQL с использованием расширения MySQLi в PHP вы можете столкнуться с ошибкой «Доступ запрещен». Это сообщение об ошибке указывает, что указанный пользователь не имеет необходимых привилегий для подключения к серверу MySQL. В этой статье мы рассмотрим различные методы устранения и решения этой проблемы, а также приведем примеры кода.
- Проверка учетных данных базы данных.
 Первый шаг — убедиться, что учетные данные базы данных, указанные в вашем PHP-коде, верны. Дважды проверьте имя пользователя, пароль и имя хоста. Даже небольшая опечатка может привести к ошибке отказа в доступе.
<?php
$servername = "localhost";
$username = "diana";
$password = "your_password";
$database = "your_database";
$conn = new mysqli($servername, $username, $password, $database);
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}
echo "Connected successfully";
?>- Предоставьте достаточные привилегии:
 Если учетные данные верны, у пользователя может не быть необходимых привилегий для подключения к серверу MySQL. Войдите на сервер MySQL как привилегированный пользователь и предоставьте соответствующие привилегии пользователю «diana» на «localhost».
GRANT ALL PRIVILEGES ON your_database.* TO 'diana'@'localhost';
FLUSH PRIVILEGES;- Проверьте имя хоста и порт:
 Убедитесь, что имя хоста и порт, указанные в коде подключения, соответствуют фактической конфигурации сервера MySQL. По умолчанию MySQL использует порт 3306.
$servername = "localhost:3306";- 
IP-адрес в белом списке: 
 Если вы подключаетесь к удаленному серверу MySQL, убедитесь, что ваш IP-адрес внесен в белый список в настройках брандмауэра сервера. Обратитесь за помощью к администратору сервера или хостинг-провайдеру.
- 
Проверьте состояние сервера MySQL. 
 Убедитесь, что сервер MySQL работает правильно. Вы можете перезапустить сервер или проверить его статус с помощью следующей команды:
sudo service mysql restart
sudo service mysql statusОшибку «Доступ запрещен» в MySQLi можно устранить, проверив учетные данные базы данных, предоставив достаточные привилегии, проверив имя хоста и порт, включив IP-адрес в белый список и убедившись, что сервер MySQL работает правильно. Следуя этим методам устранения неполадок и используя предоставленные примеры кода, вы сможете устранить эту ошибку и установить успешное соединение с вашим сервером MySQL.
Не забудьте дважды проверить свой код на наличие опечаток или ошибок в учетных данных базы данных. Приятного кодирования!