Rechercher : dans
Par :

Gérer apostrophes , double cote sql

Dernière réponse le 11 mar 2009 à 13:59:02 Squ4ll84, le 11 mar 2009 à 11:55:54 
 Signaler ce message aux modérateurs

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

Configuration: Windows XP
Firefox 3.0.7

Meilleures réponses pour « Gérer apostrophes , double cote sql » dans :
SQL - éviter les doublons dans un SELECT VoirProblème Comment éviter les doublons dans les résultats d'une requête SQL ? Solution Il suffit d'utiliser la clause DISTINCT entre SELECT et les champs. Exemple : SELECT distinct id,nom,prenom FROM matable Plus d'informations ...
Les guillemets, apostrophes et les chaînes VoirComment jouer avec les guillemets et les apostrophes dans les chaînes 1. Préambule 2. Éviter une coupure dans la chaîne 3. Ajouter un guillemet dans la chaîne 3.1 Avec l'apostrophe 3.2 Avec l'ASCII 3.3 Directement 3.3.1 Méthode...
[Internet] Gérer les cookies VoirGérer les cookies Les cookies sont des marques de votre passage sur les sites internet. Certains ne stockent que le mot de passe et le "login" correspondant à un site tandis que d'autres enregistrent davantage d'informations, généralement vos...
SQL - Jointures VoirExpression des jointures Une jointure (ou θ-jointure) est un produit cartésien de deux tables. On appelle équijointure une θ-jointure dont la qualification est une égalité entre deux colonnes. En SQL, l'expression d'une jointure se...
SQL - Sous-requêtes VoirExpression des sous-requêtes Effectuer une sous-requête consiste à effectuer une requête à l'intérieur d'une autre, ou en d'autres termes d'utiliser une requête afin d'en réaliser une autre (on entend parfois le terme de requêtes en...
SQL - Commande SELECT VoirLe langage de manipulation de données Le SQL est à la fois un langage de manipulation de données et un langage de définition de données. Toutefois, la définition de données est l'oeuvre de l'administrateur de la base de données, c'est pourquoi la...

1

ben85350, le 11 mar 2009 à 12:04:30

Salut !
As-tu testé avec ` (Alt Gr et touche 7).
PS : je n'est pas fait l'essai

Répondre à ben85350

2

Passarinho44, le 11 mar 2009 à 12:12:30

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

Répondre à Passarinho44

3

 Squ4ll84, le 11 mar 2009 à 13:59:02

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.

Répondre à Squ4ll84
Collection CommentÇaMarche.net