Я создал Class в котором у меня все функции по работе с БД.
Это очень недальновидное решение.
Я понимаю, что на данном этапе ты думаешь что на сайте будет 3 запроса и ты все три можешь положить в один класс.
Но это не так.
Запросов будет много и их надо разделять по областям ответственности, которые называют в разном контексте моделями или доменами
Поэтому у тебя не должно быть никакого класса Functions
Должен быть класс DB, в котором будет два метода - конструктор, в котором создаётся соединение с БД, и метод для выполнения подготовленного запроса. Например
такой
Дальше ты делаешь классы-модели для работы с определенными наборами данных. В самом простом варианте - с одной таблицей в БД.
И передаёшь экземпляр класса DB в
конструктор.
file_put_contents и die(); -
абсолютно бессмысленные телодвижения
если не писать try..catch, то
РНР сделает абсолютно то же самое: залогирует ошибку и остановит выполнение скрипта