А при чем здесь ошибки синтаксиса, если речь про подключение к БД?
В html файлах РНР не выполняется.
Файл необходимо передать на выполнение интерпретатору РНР. Либо вручную в командной строке, либо соответствующим образом настроив веб-сервер.
Причем как всегда, чем сказочнее вопрос, тем больше он облеплен буратинами, которые ждут что сейчас им расскажут, как вырастить дерево из золотых монет.
Что Everything_is_bad пытается сказать, это что из такого запроса бессмысленно получать словарь.
А получать из него имеет смысл только список, из скаляров, [0000000,0000000,0000000]
Другое дело что заниматься шаманством в mb_detect_encoding не стоит
Во-первых, стабильного результата она не даст.
Во-вторых, в данном случае она вообще не имеет смысла, поскольку вы и так знаете, в какой кодировке пишете свою программу
о конвертированная в вин 1251 строка выглядит иначе чем неотображаемые символы, типа вот так: Ïðèâåò 2019 Ìèð!
Память вас подводит, сэр. Впрочем, как и всех нас с возрастом...
Разумеется, кириллица в 1251 выводится в UTF-8 только вопросиками, поскольку коды верхней половины аски таблицы отсутствует в юникоде.
А умляуты получаются из шаманства с однобитными кодировками.
в остальных линкусах аналогично
в докере своя команда для установки расширений РНР