problème avec addslashes et mysql [Réglé]
ReidLos Membre non connecté
-
Modérateur
- Voir le profil du membre ReidLos
- Inscrit le : 27/02/2009
- Site internet
- Groupes :
-
Equipe Développement
C'est du dev, hors PBT...
Enfaite question simple...
je donne un truc tout con... je fais :
Code PHP :
if(!empty($_POST['title']) && !empty($_POST['contents'])) { print_r(addslashes($_POST['contents']); mysql_query(" UPDATE news SET title='" . addslashes($_POST['title'] . "', contents='" . addslashes($_POST['contents']. "' WHERE id='" . is_numeric($_POST['id']) ? $_POST['id'] : 0 . "' ") or die ('Erreur SQL !<br>'.mysql_error()); }
si ma variable post 'contents' contient : " test"""""fdsfdsf ,",", "
avec le print_r il me met bien les antislaches... mais pas dans la bdd, pourtant il met bien à jour...
la question est : Pourquoi ?
ya t'il un module à désactiver ?
Édité par ReidLos Le 24/03/2010 à 22h01
alain91 Membre non connecté
Booster Missile
-
Booster Missile
- Voir le profil du membre alain91
- Inscrit le : 26/09/2010
- Groupes :
La caractère backslash () est un caratère spécial pour les requetes mysql. Il permet d'échapper le caractère suivant dans une chaine de caractère.
Ainsi 'toto est enregistré comme 'toto dans la base de donnée. Sans le ' il y aurait une erreur car, le ' signifie aussi début d'une chaine de caractère.
Donc il est normal de ne pas retrouver tous les caractères indiqués.
Pour enregistrer un , je crois qu'il faut en mettre deux \
Le pessimisme est d'humeur. L'optimisme est de volonté (Philosophe Alain).
ReidLos Membre non connecté
-
Modérateur
- Voir le profil du membre ReidLos
- Inscrit le : 27/02/2009
- Site internet
- Groupes :
-
Equipe Développement
Reponse clair, merci alain !
alain91 Membre non connecté
Booster Missile
-
Booster Missile
- Voir le profil du membre alain91
- Inscrit le : 26/09/2010
- Groupes :
Note qu'il existe une fonction specifique pour protéger les requetes mysql
voir la fonction php : mysql_real_escape_string
Le pessimisme est d'humeur. L'optimisme est de volonté (Philosophe Alain).
horn Membre non connecté
-
Modérateur
- Voir le profil du membre horn
- Inscrit le : 31/12/2007
- Site internet
- Groupes :
-
Equipe Historique
Soyez polis, pas de langage SMS et soignez votre orthographe, merci.
ReidLos Membre non connecté
-
Modérateur
- Voir le profil du membre ReidLos
- Inscrit le : 27/02/2009
- Site internet
- Groupes :
-
Equipe Développement

ya t'il un réelle d'utilisé mysql_real_escape_string pour les requêtes par rapport a addslashes ?
alain91 Membre non connecté
Booster Missile
-
Booster Missile
- Voir le profil du membre alain91
- Inscrit le : 26/09/2010
- Groupes :
Il est préférable d'utiliser mysql_real_escape_string qui constitue la fonction d'échappement de tous les caractères pour mysql.
Actuellement, les deux fonctions font a peu près la même chose mais on ne sait pas ce que sera l'avenir donc autant utiliser la fonction appropriée dès le début.
Le pessimisme est d'humeur. L'optimisme est de volonté (Philosophe Alain).
ReidLos Membre non connecté
-
Modérateur
- Voir le profil du membre ReidLos
- Inscrit le : 27/02/2009
- Site internet
- Groupes :
-
Equipe Développement
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie