Между этими пунктами еще вставьте методы контроля ошибок взаимодействия с СУБД,
Напомню, что между этими пунктами вставлять ничего не нужно, максимум - перед ними.
А в современных версиях РНР вообще нигде не надо ничего вставлять .
А что вы хотите получить этим странным кодом? Если сами не знаете, то почему бы не вывести результат и не посмотреть - а что за значение вы собственно пытаетесь подставить в запрос?
Ну и надо вспомнить что любые данные подставляются в запрос не напрямую, а через подготовленные выражения.
Скалярные типы можно передавать аннотациями. Ну или конфигом, как в старой Симфони.
Ну или ручное связывание
А почему не хочется контроллер в контейнер пихать? В любом случае других вариантов нет - созданием объектов с учетом их зависимостей занимается только контейнер.