[Php/MySql]

Résolu
Utilisateur anonyme -  
 Utilisateur anonyme -
Bonjour @ tous et toutes ....

J'ai un petit souci ...
J'ai créée une interface php pour faire des entrées en base ...
Hors l'un des champs doit pouvoir recueillir un mail en format html .. avec toutes les balise et tout ... mais dés que j'entre un caractére du type ' ou " j'ai une mysql erreur

Erreur 1064 : Erreur de syntaxe près de 'est u n test', '1')' à la ligne 1.

Ma requête est
INSERT INTO news (id, DateEnvoie, DateCreation, sujet, contenu, service) VALUES ('', '', '2005-12-02 10:26:27', 'test', 'attention c'est u n test', '1')

Comment puis je lui indiqué que le ' de "c'est" est dans le texte et non dans la requête ?
Puis-je l'automatiser ??
Bien sur si dans le texte j'entre un \ ca passe ... mais comment le traiter automatiquement ??

Merci d'avance pour votre aide
A voir également:

6 réponses

sebsauvage Messages postés 32893 Date d'inscription   Statut Modérateur Dernière intervention   15 662
 
Erreur classique: ton site est actuellement vulnérable aux attaques de type SQL-Injection.

Voir http://www.commentcamarche.net/forum/affich-1409218#1
0
Zep3k!GnO Messages postés 2025 Date d'inscription   Statut Membre Dernière intervention   200
 
mais comment le traiter automatiquement ??
il faut que tu parses ton mail avec soit un script PERL ou bien tu fais ca cash avec la fonction ereg() et des expressions régulières...

Zep3k!GnO
Curtis jackson: " on est des rangers mec, des rangers..."
0
sebsauvage Messages postés 32893 Date d'inscription   Statut Modérateur Dernière intervention   15 662
 
Quand tu récupère le contenu de ton champ, tu remplace ' par '' (deux apostrophes)
0
Utilisateur anonyme
 
Je ne suis pas douée avec les expressions réguliéres ...
Ce que j'ai fait ne marche pas ... c'est comme si je n'avais rien fait .... j'ai la même erreurs ...

$apostrophe= '\'';
$messageCenter2 = ereg_replace('\'', $apostrophe, $messageCenter);

J'ai essaier aussi avec
$apostrophe= ' \' ';
$messageCenter2 = ereg_replace(' \'\' ', $apostrophe, $messageCenter);

Mais ca ne marche pas non plus
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
sebsauvage Messages postés 32893 Date d'inscription   Statut Modérateur Dernière intervention   15 662
 
Mais pourquoi vous prenez les expressions régulières (lentes et lourdes) quand un simple str_replace() suffit ?
0
Utilisateur anonyme
 
Entre temps j'ai trouvé ... addslashes Et ca marche ... Merci ...
@ bientôt
0