je que j'ai pu indiqué était pour les couples logins / mots de passes où tu peux être intransigeant en indiquant que les >< ne sont pas admis.
Par contre dans un texte c'est un peux sévère (peut plus écrire que 5<10 c'est dommage

). C'est la qu'entre en piste htmlspecialchars et ses copines.
il ne faut pas confondre l'insertion en base et l'utilisation a l'affichage qui sont deux choses totalement différentes.
dans un champs mysql se fou des < et > par conte, comme en php, une chiane de caractère doit être délimiter pour que mysql sache où elle commence et où elle se termine (comme en xml / html / xhtml ou cequtuveuxML, un attribut constitué de plusieurs mots séparé d'espace non encadré de " ne sera pas complet).
c'est pour cela que tu fait
insert into matable values('mon champ texte perso a moi','mais comme je suis fort en fait, y en a deux')
et pas
insert into matable values(mon champ texte perso a moi,mais comme je suis fort en fait, y en a deux ) <= la comment MySQL peux savoir qui va où ?
a partir de la il est très simple de se dire que dans un champs de formulaire de login je vais mettre
' or 1=1;--. avec une requête "classique" cela donne select truc, machin from users where login='' or 1&1; --' le reste de la requete
le -- indiquant le début d'un commentaire et la ben ça récupère toute la table puisse que la condition est toujours réalisée (oui oui 1=1).
si tu "protège" tes ' avec \' plus de soucis

un article wikipedia sur
les injections SQL qui explique la chose.
Après les <> ça t'emmerde qu'en html (si tu fait du PDF ou autre c'est pas forcément une gène). donc pour cela
à l'affichage tu utilise htmentities ou htmlspecialchars pour remplacer tous ça par leurs entités html (&glt; par exemple pour le code ascii correspondant). Et la pas de soucis de failles (xss ?) dû au p'tit malin qui insère du JS dans les commentaires par exemple.
Pour mysql, la fonction mysql_real_escape_string() (inutile avec PDO ?).
inutilisable avec PDO, mysql_real_escape_string est "liée" à une connexion mysql
http://php.net/manual/fr/function.mysql ... string.php
Note:
Une connexion MySQL est nécessaire avant d'utiliser la fonction mysql_real_escape_string(), sinon, une erreur de niveau E_WARNING sera générée, et FALSE sera retourné. Si link_identifier n'est pas défini, la dernière connexion MySQL est utilisée.
avec PDO il faut utiliser
la méthode quote ou une requête préparée et un
binvalue,
binparam ou
bindcolumn.
J'ai fait plusieurs tests, et PDO sécurise tout seul les ' et les "
attention tous seul c'est vite dit (voir au dessus)
@+