Page 1 sur 1

probleme apostrophe

Posté : 24 oct. 2008, 14:26
par Romuald632
Bonjour,
J'ai créé un formulaire pour remplir une BDD.
Mon formulaire a des listes déroulantes.
Lorsque je saisi mes infos sans données avec des apastrophes tout ce passe correctement.
En revanche dès que j'ai une donnée avec apostrophe (ex: Europe de l'Ouest), pan ça marche plus, j'ai un message d'erreur.
A votre avis d'où ça vient ?
Merci

Posté : 24 oct. 2008, 15:04
par Victor BRITO
Peux-tu préciser le message d'erreur, ainsi que le contexte dans lequel il apparaît ?

A priori, je me pencherais sur un problème d'échappement de caractères sensibles, notamment si utilises ' pour délimiter les chaînes de caractères.
$chaine = 'Une chaîne avec l'apostrophe'; // Invalide (deuxième ' non échappé)
$chaine = 'Une chaîne avec l\'apostrophe'; // Valide (deuxième ' échappé)

Posté : 24 oct. 2008, 15:34
par mere-teresa
Modération :
Afin d'obtenir plus de réponses, le sujet est déplacé dans le forum "SQL & Bases de données".

Posté : 24 oct. 2008, 15:57
par Romuald632
Bonjour,
voila le message
Erreur SQL !INSERT INTO webcam(idwebcam,continent,pays,sous_continent,ville,nom_webcam,lien_webcam,stat_visite,nom_critere) VALUES('','Europe','France','Europe de l'Ouest','Paris','Le Centre Pompidou','http://','','Villes')
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Ouest','Paris','Le Centre Pompidou','http://','','Villes')' at line 1
Merci

Posté : 24 oct. 2008, 16:09
par Victor BRITO
C'est bien ce que je pensais : problème d'échappement des caractères sensibles. Il faut échapper la chaîne 'Europe de l'Ouest' comme suit :

Code : Tout sélectionner

'Europe de l\'Ouest'
PHP effectue cette opération avec, entre autres, la fonction mysql_real_escape_string().

Posté : 24 oct. 2008, 16:36
par Romuald632
C'était ça !!
Merci beaucoup