Предупреждение: 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? Если он у вас отключен, а у ваших коллег - включен, это может объяснить различия, которые вы видите.

http://php.net/manual/en/security.globals.php

Из того, что я вижу в сообщении об ошибке, вы не передали соединению имя пользователя для подключения к MySQL.

Другие вопросы по тегам