2011-12-23 2 views
0

Я подключился к MySQL с PHP с помощью пользователя root. Объект подключения: $con. Соединение было успешным.Почему я не могу выбрать базу данных MySQL из PHP? Я получаю «доступ запрещен»

Я хотел выбрать конкретную базу данных, поэтому использовал mysql_select_db('database', $con), но получил ошибку 'Access denied for user '@'localhost' to database'.

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

+1

Это не имеет никакого отношения к вашей конкретной проблеме, но ПОЖАЛУЙСТА, ОСТАНОВИТЕ ИСПОЛЬЗОВАНИЕ mysql_ * функций в PHP. Изучите PDO. Вот и все. –

+0

Какой код подключения? –

+0

Что случилось с использованием функций mysql_ *? как насчет mysqli_? – Frank

ответ

3

Вы не используете учетную запись root (что представляет собой идею BAD, независимо от того, что вы пытаетесь сделать). В сообщении об ошибке четко указано ... for user ''@localhost: там нет имени пользователя, поэтому вы не подключаетесь без имени пользователя.

1

В основном, в вашем mysql_connect(host, username, password) вы введете неправильные данные.

Вам обычно нужен пароль для безопасного хостинга. Это можно приобрести у вашего хостинг-провайдера, а имя пользователя также определяется вашим хостинг-провайдером или вами. Хост в обычно локальном хосте.

Вы должны добавить это mysql_connect на каждую страницу, на которой вы используете php-функции, с базой данных mysql.

Смежные вопросы