Это противоречит DRY. Поддерживать такой код неудобно.
Потратьте уже свою энергию не на чат, а на код, проще написать проверить как работает.
Душевные терзания в стиле "я не знаю насколько это плохой код" в чате вас не покинут, а покинут когда ваш код заработает как ожидалось.
Я много раз выносил одинаковую логику в отдельные чанки, инклюдил их с передачей параметров, инсертил, все там работает!
Правильный путь:
Написал-дебажишь-правишь-дебажишь-читаешь доку-дебажишь-непобедил-спрашиваешь
Неправильный путь:
Спрашиваешь-рассуждаешь-спрашиваешь-споришь-пишешь код
Вам подсказали insert, это поможет глобальный провал исправить, остальное либо по первому пути, либо есть ещё 3й, в подчат про работу.