[Php/MySql]

Résolu/Fermé
Utilisateur anonyme - 2 déc. 2005 à 10:31
 Utilisateur anonyme - 2 déc. 2005 à 11:42
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

6 réponses

sebsauvage Messages postés 32893 Date d'inscription mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 15 659
2 déc. 2005 à 10:32
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 jeudi 22 septembre 2005 Statut Membre Dernière intervention 18 novembre 2015 200
2 déc. 2005 à 10:38
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 mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 15 659
2 déc. 2005 à 10:40
Quand tu récupère le contenu de ton champ, tu remplace ' par '' (deux apostrophes)
0
Utilisateur anonyme
2 déc. 2005 à 11:15
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 mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 15 659
2 déc. 2005 à 11:32
Mais pourquoi vous prenez les expressions régulières (lentes et lourdes) quand un simple str_replace() suffit ?
0
Utilisateur anonyme
2 déc. 2005 à 11:42
Entre temps j'ai trouvé ... addslashes Et ca marche ... Merci ...
@ bientôt
0