2012-06-22 3 views
2

Я пытаюсь подключиться к базе данных SQL с помощью следующей строки коды ниже:MySql подключение со случайным значением пользователя

mysql_connect('localhost','root',''); 

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

+0

вы можете выполнять запросы с помощью ** любое ** имя пользователя? – hjpotter92

+0

Какой язык программирования вы используете? – ZnArK

+1

В качестве бокового узла: Пожалуйста, не используйте функции 'mysql_ *' для нового кода. Они больше не поддерживаются, и сообщество начало процесс [устаревания] (http://goo.gl/KJveJ). См. [** красное поле **] (http://goo.gl/GPmFd)? Вместо этого вы должны узнать о [подготовленных утверждениях] (http://goo.gl/vn8zQ) и использовать либо [PDO] (http://php.net/pdo), либо [MySQLi] (http://php.net/ MySQLi). Если вы не можете решить, [эта статья] (http://goo.gl/3gqF9) поможет выбрать. Если вы хотите узнать, [это хороший учебник PDO] (http://goo.gl/vFWnC). –

ответ

1

Скорее всего, вы сможете «подключиться», но не сможете на самом деле ничего сделать, кроме запуска запроса. Если вы запустите

SELECT * FROM mysql.user 

вы, вероятно, увидите строку, которая выглядит примерно так:

Host  User Password Select_priv ... 
localhost ''  ''   N 

База данных содержит пустую запись пользователя/пароль без каких-либо привилегий для любой таблицы. Поэтому, если вы подключаетесь к пользователю, которого не существует (пароль должен быть пустым, в противном случае вы получите ошибку доступа), вы действительно сможете подключиться, но на самом деле ничего не сделать

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