Предупреждение: mysql_select_db() Доступ запрещен для пользователя ''@'localhost' (с использованием пароля: НЕТ)
Я довольно новичок в веб-разработке и мне нужна помощь, чтобы выяснить, в чем проблема. У меня была установлена MySQL 5.6.10, и мне было дано задание обновить src веб-сайта, который в настоящее время работает в течение последних 5 лет. Ни один из кодов не изменился, и он работает для других локальных машин разработчиков. Сервер работает под управлением 5.0.51b, и я просто опустился до версии 5.5.30, пытаясь устранить синтаксическую ошибку. Ошибка состояла в том, что SET OPTION SQL_BIG_SELECTS=1 устарела до SET SQL_BIG_SELECTS в определенной версии. Я не могу изменить синтаксис из-за версии, на которой работает сервер. Поэтому я выбрал версию до 5.5.30.
Моя проблема после понижения:
Warning: mysql_select_db() [function.mysql-select-db]: Access denied for user
''@'localhost' (using password: NO) in C:\Program Files (x86)\Apache Software
Foundation\Apache2.2\htdocs\****\src\www\include\func\func.db.php on line 47
Я использую MySQL Workbench для своих соединений, ни одно из соединений или пользователей не имеет паролей, связанных с ними. У меня есть другой проект, который не работает, который отлично работает с localhost. Все мои файлы vhost и host имеют правильный синтаксис для этой работы (проверено с другим проектом). Все это работало должным образом, и вчера в Vhost можно было просматривать страницы. У меня никогда не было проблем с тем, как все было настроено, чтобы вытащить страницу индекса. Единственной проблемой были проблемы с версией MySQL. Что я могу сделать, чтобы решить эту проблему? Я попытался воссоздать соединения в рабочей среде и даже удалить все экземпляры и воссоздать их. Я в тупике. Любая помощь будет принята с благодарностью.
4 ответа
Внимательно изучив вашу ошибку, вы увидите, что она говорит вам, что не так (как правило, для чего нужны отчеты об ошибках):
Access denied for user
''@'localhost' (using password: NO)
Смотря конкретно на:
''@'localhost'
^^
Вы видите, что ни один пользователь не был указан. Вам необходимо указать пользователя, к которому вы хотите подключиться.
mysql_connect("HOST","USER","PASSWORD")
Который предшествует mysql_select_db
вызов.
MySQL Connect и MySQL Select DB
ВНИМАНИЕ: Не обновляйте до PHP 5.5, поскольку функции MySQL_* устарели. Я говорю это, так как вы не хотите менять какой-либо код.
Вы можете увидеть эту ошибку, потому что вы неправильно подключили свою базу данных mysql.
mysql_connect("HOST","USER","PASSWORD")
убедитесь, что хост, имя пользователя и пароль не совпадают
Был ли MySQL единственным, что вы обновили? Есть ли шанс, что вы обновили PHP и теперь у вас больше нет register_globals? Если он у вас отключен, а у ваших коллег - включен, это может объяснить различия, которые вы видите.
Из того, что я вижу в сообщении об ошибке, вы не передали соединению имя пользователя для подключения к MySQL.