Я пытаюсь подключиться к моей базе данных с помощью php, вот моя строка подключения.
$con = mysqli_connect("localhost","almawakeb_khawaneej","******");
mysqli_select_db($con, "moodle_amsk_2018");
if (mysqli_connect_errno())
{
die('Could not connect: ' . mysqli_connect_error(). mysqli_connect_errno().'');
}
else {
die('Connection success');
}
Но я получаю
Не удалось подключиться: доступ запрещен для пользователя
'almawakeb_khawaneej' @ 'localhost' (используя пароль: ДА) 1045
Когда я проверял привилегии для этого пользователя
mysql> SHOW GRANTS FOR 'almawakeb_khawaneej'@'localhost';
+-----------------------------------------------------------------------------------+
| Grants for almawakeb_khawaneej@localhost |
+-----------------------------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'almawakeb_khawaneej'@'localhost' |
| GRANT ALL PRIVILEGES ON `moodle_amsk_2018`.* TO 'almawakeb_khawaneej'@'localhost' |
+-----------------------------------------------------------------------------------+
Имеет все необходимые привилегии. Пароль также правильный, поскольку он работает для файла конфигурации yii2 framework , который находится на том же сервере.
mysql> select version();
+-------------------------+
| version() |
+-------------------------+
| 5.7.23-0ubuntu0.16.04.1 |
+-------------------------+
В чем должна быть проблема?
EDIT
Решено! Фактическая проблема была $
в пароле, вы не можете использовать строку пароля в строке подключения, если она содержит $
. Объявите пароль как переменную.
$password = '***$***';