Инъекции (как и любые распространённые типы уязвимостей) появляются не потому, что невозможно что-то сделать, а потому, что кто-то забыл, перепутал, опечатался или ошибся. Если у вас нет возможности накосячить (или она сведена к минимуму) - это в любом случае надёжнее, чем когда у вас есть возможность не накосячить. Именно поэтому подготовленные запросы считаются надёжнее любых проверок переменных, rust считается безопаснее C и т. д.