¿Son las declaraciones preparadas PDO suficientes para prevenir la inyección SQL?


Digamos que tengo un código como este:

$dbh = new PDO("blahblah");

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

La documentación de la DOP dice:

No es necesario citar los parámetros de las sentencias preparadas; el controlador lo maneja por usted.

¿Es realmente todo lo que necesito hacer para evitar las inyecciones SQL? ¿Es realmente tan fácil?

Puede asumir MySQL si hace una diferencia. Además, realmente solo tengo curiosidad sobre el uso de sentencias preparadas contra la inyección SQL. En este contexto, no me importa XSS u otras posibles vulnerabilidades.


Warning: Undefined property: agent_blog_content::$date_asked in /var/www/agent_etc/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 32

Warning: Undefined property: agent_blog_content::$count_answers in /var/www/agent_etc/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 52