2016-04-10 2 views
-1

Я использую OS X El Capitan. Работает Mysql, и я могу добавлять таблицы с помощью инструмента командной строки mysql. Когда я пытаюсь подключиться к базе данных из моего PHP-файла, я получаю ошибку 1045. Ниже приведен код:Почему мой PHP-файл не подключается к mysql?

$dbc = mysqli_connect('127.0.0.1', 'root', '*****', 'aliendatabase') 
// or die('Error connecting to MySQL server. '); 
or die("Debugging errno: " . mysqli_connect_errno()); 

$query = "INSERT INTO aliens_abduction (first_name, last_name, when_it_happened, how_long, " . 
"how_many, alien_description, what_they_did, fang_spotted, other, email) " . 
"VALUES ('$first_name', '$last_name', '$when_it_happened', '$how_long', '$how_many', " . 
"'$alien_description', '$what_they_did', '$fang_spotted', '$other', '$email')"; 

$result = mysqli_query($dbc, $query) 
or die('Error querying database.'); 

mysqli_close($dbc); 

Я установить параметры гранта, как показано ниже:

GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY PASSWORD '*477A2FE5488EA451D53F4BFE898AA4D4F61B68EF' WITH GRANT OPTION GRANT PROXY ON ''@'' TO 'root'@'localhost' WITH GRANT OPTION 

Я не могу понять, почему это не работает, и я попытался начать процесс MySQL с оба mysql.server start и mysqld. Очевидно, звездочки в аргументах соединения представляют мой пароль. Кто-нибудь знает, что мне не хватает?

+0

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

+0

Вы пытались подключиться без пароля? что-то вроде mysql -u root? –

+0

Я могу ввести инструмент командной строки, просто набрав mysql. Однако, если я нахожу 'mysql -u root', я получаю сообщение Access Denied. –

ответ

0

Вы предоставления привилегий на localhost, а затем подключиться к 127.0.0.1

Попробуйте изменить 127.0.0.1 к localhost в вашей связи:

$dbc = mysqli_connect('localhost', 'root', '*****', 'aliendatabase')

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

+0

Спасибо за ответ. Я действительно предоставлял разрешения, как вы сказали, но когда я показываю гранты, 127.0.0.1 стал «localhost». Кроме того, когда я использую 'localhost' в качестве аргумента в функции' mysqli_connect() ', я получаю другую ошибку, потому что она не отображает' localhost' в '127.0.0.1'. Для меня это отдельная проблема. –

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