Ce que vous citez provient probablement de la doc, mais pour autant que je sache, ce n'est pas nécessairement vrai.
addslashes
ajoute des barres obliques aux caractères généralement dérangeants. mysql_real_escape_string
échappe tout ce que MySQL doit être échappé. Cela peut être plus ou moins de caractères que ce que addslashes
prend soin de.
Aussi, mysql_real_escape_string
n'ajoutera pas nécessairement des barres obliques pour s'échapper. Bien que je pense que cela fonctionne si vous le faites de cette façon, les versions récentes de MySQL échappent les guillemets en mettant deux d'entre eux ensemble au lieu de mettre une barre oblique devant.
Je pense que vous devriez toujours utiliser la fonction d'échappement de votre fournisseur de données au lieu de addslashes
, car addslashes
peut faire trop ou pas assez de travail pour l'usage que vous en faites. D'autre part, mysql_real_escape_string
sait que faire pour préparer une chaîne pour l'intégrer dans une requête. Même si les spécifications changent sur la façon d'échapper des choses et que soudainement ce ne sont plus les barres obliques inverses que vous devriez utiliser, votre code fonctionnera toujours car mysql_real_escape_string
en sera conscient.