Вопрос скорее психологический.
Либо "у меня все строго", либо "вот тут есть костыль, но я про него помню...".
Первый вариант успешнее экономит нервные клетки.
Лентяй,
1) потому что меня еще давно учили, что если переменная приходит из вне цифрой, то можно смело не экранировать её, а лишь обернуть функцией intval(). Да даже сам запрос короче.
2) А разве хотя бы ещё один способ защиты от инъекции кроме prepare и bind?
Макс Васильев, вы прочно стоите не стезе говнокодера.
Если в коде есть защита от инъекций, то одна должна быть в любом запросе. Вы больше времени потратите на обдумывание, нужна она или нет, и горько пожалеете о своем ламерстве, когда три проекта спустя вернетесь к этому коду внести пустяковую правку. Которая таки создаст дыру в том самом месте, где вы когда-то решили, что тут ничего страшного быть не может.
Если весь описанный тобой код точно так же и используется, то не проверяй :)
А вообще всегда лучше предохраниться. Если ты запустишь sqli-сканер, то он автоматически тебе найдет уязвимости (если будут!), а тебе напрягаться не надо. Если своими руками, то советую SQLmap, если без установки, то онлайн можно проверить на https://pentest-tools.com/website-vulnerability-sc... или на https://metascan.ru