Je ne suis pas sûr à 100%, mais je pense que ça évite d'autre forme d'injection sur les pages.
En soit, avec le binding tu évite les injections SQL et tu protège le SQL.
Avec htmlspecialchars, tu fais gaffe à ce qui est affiché.
Enfaite j'imagine que si le gars stock "&" volontairement, on ne veux pas voir un "&" sur la page, mais bien "&" , du coup avec htmlspecialchars, l'affichage ferais un "&" (ce qui dans le cas cité n'est pas dangeureux, mais pourrais le devenir si l'utilisateur commençait à te pondre un <script>alert("PWNED");</script> (faille XSS)).
edit: vu que JVC le fait "AVANT" visiblement histoire de dénaturer mon post ( un autre exemple du pourquoi c'est mal avant et mieux après quand on veux justement causer de ça
), voilà comment je l'avais écrit:
http://pastebin.com/zd153ZPH 
edit2: 'fin j'ai un doute de comment JVC gère ça, vu que c'est conservé à l'édition comme je l'ai écrit, mais déjà filtrer d'une façon qui convertit mes caractères en texte brut mais sans les balises html...
Message édité le 04 mai 2016 à 22:35:10 par AzazelBee