если в запрос типа такого "... where id = $id ..." то от инъекции не защитит в цифровых параметрах лучше использовать приведение к типу или is_numeric()
$var = htmlspecialchars($var, ENT_QUOTES, 'UTF-8'); и тебе не страшны никакие xss-ки. ее можно обойти, если поиграться кодировками, если же прописана определенная кодировка, то все будет норм