@polysladki

Mysqli_connect ошибка?

Имеем стандартную форму подключения:

$connection = mysqli_connect("127.0.0.1", "root", "", "my_db");
if (!$connection) {
echo "ERROR." . PHP_EOL;
exit;
}echo "success" . PHP_EOL;

Подключаемся без ошибок.

Делаю 2 файлика
1) db.php
$connection = mysqli_connect(
$config['db']['server'],
$config['db']['username'],
$config['db']['password'],
$config['db']['name']
);

2)config.php

$config = array(
'title' => '#',
'vk_url' => '#',
'db' => array(
'server' => '127.0.0.1',
'username' => 'root',
'password' => '',
'name' => 'my_db'
)
);
require "db.php";

по сути тоже самое только данные берутся из конфига

стандартный вариант работает без проблем

мой вариант не пускает меня к БД по причине:
Warning: mysqli_connect(): (HY000/1045): Access denied for user ''@'localhost' (using password: NO) in E:\OpenServer\OpenServer\domains\localhost\mysite\includs\db.php on line 6
Connection error!
Access denied for user ''@'localhost' (using password: NO)

дамп
{
["server"]=> string(9) "localhost"
["username"]=> string(4) "root"
["password"]=> string(0) ""
["name"]=> string(6) "my_db" } }

!!!!! user сетается как пустое значение
Access denied for user ''@'localhost'

почему?
  • Вопрос задан
  • 10631 просмотр
Решения вопроса 1
@polysladki Автор вопроса
Юзер или сетается пустой - либо данные смещаются и юзер принимает значения пароля.
Попробовал в графу пароль вбить 123
Получил
Access denied for user 'root'@'localhost' (using password: YES)
т.е. теперь имя юзера передаётся нормально

заменяю
password' => ' '
'password' => ""

получаю рабочий код...
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
usdglander
@usdglander Куратор тега PHP
Yipee-ki-yay
Вообще по логике должен config.php в начало db.php подключаться

upd: где вы вызываете config? Скорее всего нигде, так как в каком нить index.php идёт include('db.php').
Ответ написан
@AtaZ
кто знает, тот поймет
Вообще в ошибке говорится, что вы пытаетесь подключиться без пароля. В коде пароль тоже пустой. Уж не знаю для примера или нет, но может в этом ваша проблема?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы