par
Ryle » 21 févr. 2006, 16:44
bah l'intérêt de la fonction addslash (comme de n'importe quelle fonction d'ailleurs), c'est de t'éviter de devoir le faire à main

Si tu préfères écrire directement l'antislash devant chaque caractère à échapper, ça revient au même
Attention toutefois à la façon dont ta chaine est déclaré (entre guillemets ou entre apostrophes)
$var = "c\'est la fête";
echo $var; // affiche : c\'est la fête
$var = addslashes("c'est la fête");
echo $var; // affiche : c\'est la fête
$var = 'c\'est la fête';
echo $var; // affiche : c'est la fête (sans l'antislash)
donc si tu utilises ensuite $var dans une requête sql :
"SELECT * FROM maTable WHERE monChamp = '$var'";
// tu obtiendras avec 1 et 2
"SELECT * FROM maTable WHERE monChamp = 'c\'est la fête'"; // ok
// mais avec la troisième :
"SELECT * FROM maTable WHERE monChamp = 'c'est la fête'"; // ko
bah l'intérêt de la fonction addslash (comme de n'importe quelle fonction d'ailleurs), c'est de t'éviter de devoir le faire à main :) Si tu préfères écrire directement l'antislash devant chaque caractère à échapper, ça revient au même :)
Attention toutefois à la façon dont ta chaine est déclaré (entre guillemets ou entre apostrophes)
[php]
$var = "c\'est la fête";
echo $var; // affiche : c\'est la fête
$var = addslashes("c'est la fête");
echo $var; // affiche : c\'est la fête
$var = 'c\'est la fête';
echo $var; // affiche : c'est la fête (sans l'antislash)
[/php]
donc si tu utilises ensuite $var dans une requête sql :
[php]"SELECT * FROM maTable WHERE monChamp = '$var'";
// tu obtiendras avec 1 et 2
"SELECT * FROM maTable WHERE monChamp = 'c\'est la fête'"; // ok
// mais avec la troisième :
"SELECT * FROM maTable WHERE monChamp = 'c'est la fête'"; // ko
[/php]