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);
}