As instruções preparadas pelo PDO são suficientes para impedir a injeção de SQL?

Digamos que eu tenha código assim:

$dbh = new PDO("blahblah");

$stmt = $dbh->prepare('SELECT * FROM users where username = :username');
$stmt->execute( array(':username' => $_REQUEST['username']) );

A documentação do PDO diz:

Os parâmetros para instruções preparadas não precisam ser citados; o motorista cuida disso para você.

Isso é realmente tudo o que preciso fazer para evitar injeções de SQL? é realmente tão fácil?

Você pode assumir o MySQL se isso faz diferença. Além disso, estou realmente curioso sobre o uso de instruções preparadas contra injeção de SQL. Neste contexto, não me importo com XSS ou outras possíveis vulnerabilidades.

questionAnswers(7)

yourAnswerToTheQuestion