Я делаю простой mysqli
При подключении к моей базе данных на хостинге Godaddy для Windows мой код выглядит следующим образом:
<?php
error_reporting(E_ALL & ~(E_STRICT|E_NOTICE));
$host = 'localhost';
$user = 'root_user_name';
$password = 'root_user_pass';
$db = 'my_database';
$cxn = mysqli_connect($host,$user,$password) or
die(mysqli_connect_error()); // <<<<<< line 9
mysqli_select_db($cxn, $db ) or die(mysqli_connect_error());
die('test');
Я уверен, что предоставлены имя пользователя и пароль, а также имя базы данных, все мои учетные данные верны, хотя я получаю эту ошибку:
Предупреждение: mysqli_connect (): (HY000 / 1045): доступ запрещен для пользователя
‘root_user_name’ @ ‘localhost’ (используя пароль: YES) в
G: \ путь \ к \ файл \ index.php
в строке 9 Доступ запрещен для пользователя ‘root_user_name’ @ ‘localhost’ (используя
пароль: ДА)
Я получил это, работая на localhost с тем же именем базы данных и учетными данными, используя сервер wamp, я не сильно разбираюсь в IIS-сервере и хостинге Windows. Любая помощь будет оценена.
Однажды у меня возникла эта проблема, и я просто решил ее, установив реальный IP-адрес сервера базы данных на моем хосте при подключении к базе данных. Чтобы получить IP-адрес, войдите в свою учетную запись хостинга и получите доступ к базам данных, затем нажмите на управление нужной базой данных, и вы перейдете к phpMyAdmin. Справа есть блок с заголовком Сервер базы данных, Вы можете найти IP-адрес сервера в первом элементе списка. Используйте это в своем $host
а не localhost:
$host = '51.51.51.51'; // <<<< just a fake IP address for the example
У меня было много сурового времени, чтобы выяснить, что происходит не так, я даже связался со службой поддержки и получил ответ:
Джошуа — Я думаю, что разрешения являются причиной проблемы. Однажды ты
если они правильно обновлены, проблема должна исчезнуть.
Они заявили, что проблема с правами доступа к файлам, я обновил права доступа к файлам, но не решил их.
Иногда решение гораздо ближе, чем вы думаете!
Новая форма установки базы данных MySQL будет принимать символы со смешанным регистром в качестве имени базы данных / имени пользователя, она будет молча преобразовывать их в нижний регистр. В этом случае логин phpMyAdmin чувствителен к регистру, поэтому вы можете скопировать и вставить из Центра управления в phpMyAdmin, чтобы убедиться, что вы вводите правильное имя пользователя.
Это немного удар в темноте; но вы должны проверить фактическое host
это определено в пользовательской таблице mysql. Возможно, ваше решение WAMP подключено к localhost через ipv4 (127.0.0.1
); а ваш текущий сервер использует ipv6 (::1
). Пользователь, которого вы используете для подключения, должен иметь тот же адрес, который определен на сервере базы данных. Самый простой способ проверить это — убедиться, что в вашей базе данных 3 пользователя с этими учетными данными, один для ipv4 (127.0.0.1
), один для ipv6 (::1
) и один на основе имени хоста (например, localhost
)