Menu

Gérer apostrophes , double cote sql [Résolu/Fermé]

Squ4ll84 - 11 mars 2009 à 11:55 - Dernière réponse :  Squ4ll84
- 11 mars 2009 à 13:59
Bonjour,

je souhaiterais avoir de l'aide concernant la gestion des apostrophes (') ainsi que des doubles cotes (") lors d'une insertion dans une base mysql via php.

En effet, dans ma base de données, des libellés possèdent des apostrophes : BOBINE D'ALLUMAGE
Il y a également des libellés composés de doubles cotes pour traduire "pouce" ex : Vis 1/4"

Mon problème lorsque je fais un insert dans ma table commande, il m'est parfois impossible d'ajouter certaines pièces :

$requete=mysql_query('insert into ligne_panier values("","'.$idpanier.'","'.$reference.'", etc etc') or die(mysql_error());

Cela ne se voit pas très bien mais je commande par double cote + simple cote + variable + simple cote + double.

Cela me permet d'éliminer les erreurs des libellés contenant l'apostrophe.
Par contre, effet inverse, certains libellés comprenant le signe " provoquent une erreur... Ce qui est tout a fait normal vu le signe que j'utilise pour l'insertion...

Je viens donc demander votre aide sachant que je préfèrerais laisser tels quels les libellés dans la bdd.

Merci d'avance

Cordialement
Afficher la suite 

3 réponses

ben85350 612 Messages postés vendredi 30 mai 2008Date d'inscription 2 avril 2013 Dernière intervention - 11 mars 2009 à 12:04
0
Merci
salut !
As-tu testé avec ` (Alt Gr et touche 7).
PS : je n'est pas fait l'essai
Passarinho44 964 Messages postés mercredi 28 mai 2008Date d'inscriptionContributeurStatut 13 juin 2012 Dernière intervention - 11 mars 2009 à 12:12
0
Merci
Tu utilises la fonction mysql_escape_string() qui remplacera tes ' par des \' (donc plus de problèmes pour SQL!
Et pour afficher après tes résultats tu utilises le stripslash().

Je te laisse faire des recherches du coté de ces fonctions pour mieux comprendre leur fonctionnement
0
Merci
mysql_escape_string() fonctionne très bien pour remplacer les apostrophes merci!

J'ai également cherché du côté des fonctions

J'ai finalement utilisé la fonction addslashes sur mon libellé. Tout fonctionne désormais.