PDO ile birlikte prepare da kullanmanız gerekiyor. Prepare metodu kendinden tüm sql injectionlara karşı koruma sağlar.
https://kodlamaklazim.com/blog/php-prepare-kullanimi
Birde gelen veriyi aşağıdaki fonksiyondan geçirsen tam koruma sağlamış olursun.
function Guvenlik($gelenveri="0", $integer = 0) {
$gelenveri = htmlspecialchars(strip_tags($gelenveri),ENT_QUOTES);
if($integer == 1){
if(!ctype_digit($gelenveri)){
$gelenveri = 0;
}
if(strlen($gelenveri)>10){
$gelenveri = 0;
}
}
return trim($gelenveri);
}