2014-12-21 3 views
0

У меня возникли проблемы с попыткой войти в систему как пользователи без полномочий root из файла .php на phpMyAdmin.MySQL/phpMyAdmin - только пользователь root может войти в систему

Я создал регистрационную форму, в которой пользователь root проверяет, соответствует ли вход, который используется пользователем, запись в таблице mysql.User, а затем сохраняет имя пользователя и пароль в качестве переменных сеанса, которые я использую для попробуйте и войдите в MySQL и выполните пользовательские задачи позже.

Это код У меня возникли проблемы с:

$host = "localhost"; // Host name 
$username = $_SESSION['myusername']; // Mysql username 
$password = $_SESSION['mypassword']; // Mysql password 
$db_name = "gcim"; // Database name 
$tbl_name = "permissions"; // Table name 

// Create connection 
$conn = new mysqli($host, $username, $password, $db_name); 

MyUserName и мойпароль является только переменным сеансом я хранюсь и они установлены в значение, как именно они должны быть, «ГКММАМИ "это база данных я пытаюсь получить доступ и„разрешение“является таблицей

Попытки выполнить результаты кода в следующем:

Warning: mysqli::mysqli(): (HY000/1045): Access denied for user 'BUT03'@'localhost' (using  password: YES) in C:\xampp\htdocs\gcim\permissions\permissions.php on line 12 
Connection failed: Access denied for user 'BUT03'@'localhost' (using password: YES) 

Я уверен, что этот вопрос не является неправильное имя хоста, имя пользователя или пароль, потому что даже если я изменить строку подключения к:

$conn = new mysqli("localhost", "BUT03", "test", "gcim"); 

она по-прежнему дает мне ту же ошибку

Вот настройки моего mysql.user таблицы: http://puu.sh/dDxd3/5e25f315f4.png

В любом случае, любая помощь будет очень благодарна, Thanks

EDIT: Я экспериментировал, и я пришел к выводу, что единственный способ добиться успеха логин в MySQL использует учетную запись root без пароля, любая попытка войти в систему с паролем даст мне такую ​​же ошибку, а также удалит пароль из учетной записи, отличной от root, и попытаться войти в систему без пароля, который дает мне следующая ошибка: Ошибка подключения: доступ запрещен для пользователя '' @ 'localhost' в базу данных 'gcim'

У меня возникло ощущение, что есть некоторые проблемы с настройками сервера, я имел в виду изменить что-либо из настроек phpMyAdmin по умолчанию ?

EDIT: Я просто попытался войти в phpMyAdmin сам как «BUT03» @ «localhost», и у меня нет никаких прав вообще, хотя везде, где я вижу, я предоставил все возможные привилегии этой учетной записи, мог это влияет на что-либо, и кто-нибудь знает, что может вызвать его?

+0

Я запутался «Я уверен, что этот вопрос не является неправильным имя хоста, имя пользователя или пароль, потому что даже если я измените линию подключения на ... ", где вы показываете другой способ попытать подключения, но это также не удается - что, безусловно, заставляет меня думать, что у вас есть проблема с паролем/именем пользователя/хостом. –

+0

может существовать учетная запись, но вы «предоставили» доступ к 'gcim' db для этой учетной записи? пользователь в mysql может существовать без ЛЮБЫХ разрешений доступа к db на всех –

ответ

0

Я полагаю, что passowrds сохраняются не в обычном тексте, а в хэшировании. Это означало бы, что ваш hashed пароль - это «тест», и ваш фактический пароль неизвестен. Измените свой пароль, чтобы проверить с помощью этой функции

SET PASSWORD FOR 'BUT03'@'localhost' = PASSWORD('test'); 

см: http://dev.mysql.com/doc/refman/5.0/en/set-password.html

+0

Немного смущенный, я понимаю простой текст и хэширование, но где я должен запускать функцию?Если я попробую запустить его в разделе SQL на phpMyAdmin, я получу ошибку # 1133 - Не могу найти подходящую строку в таблице пользователя – Magikjak

+0

@Nanne, почему вы предполагали пароль как 'test' ?? –

+1

@AvinashBabu Вероятно, потому что он посмотрел на картинку, где у меня был пароль для учетной записи BUT03, для временного тестирования на «тестирование» для тестирования – Magikjak

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