Достаточно ли использовать подготовленные запросы PDO PHP?
PDO защищает от sql injection. Вам еще понадобится выводить данные пользователям так чтобы не было XSS. Ещё вам нужна будет защита CSRF. И ещё по мелочи.
В общем берите laravel или symfony и не мучайтесь.
Вам уже правильно написали, но без разъяснений, что пользовательский ввод нужно валидировать не только на вход, но и на выход.
Например, если человек напишет  и это будет отправляться на доступную страницу - это вас неприятно удивит.
И много других приятных сюрпризов может быть.
Также про CSRF, с аккаунта авторизованно где о пользователя атакующий может делать любые действия доступные пользователю.
Мораль, не нужно изобретать велосипед на таком уровне знаний, берите фреймворк и в путь. Это когда Вы уже все знаете и понимаете почему решение из Вашего фреймворка Вас не устраивает, вот тогда нужно делать велосипед.