Usando a função htmlspecialchars com o DOP, prepare e execute

Está convertendo caracteres especiais em entidades HTML na validação de formulário e na consulta ao banco de dados usando o PHP PDO usandohtmlspecialchars() função realmente necessária?

Por exemplo, eu tenho um site com sistema de login simples, mais ou menos como:

$username = (string) htmlspecialchars($_POST['user']);
$password = (string) htmlspecialchars($_POST['pass']);

$query = $dbh->prepare("select id where username = ? and password = ?")
$query->execute($username, $password);

Observe que eu também uso a conversão de tipos além da função em questão. Então, é necessário? Ou posso usar com segurança$username = $_POST['user']; ?

questionAnswers(2)

yourAnswerToTheQuestion