Page 1 sur 1

envoie de caratere spéciaux dans une table

Posté : 27 avr. 2005, 12:07
par llandry
Bonjour,

Et oui encore moi.

Voila je voudrai envoyé le caratere " ou ' dans ma base de donnée.
Comment faire.

Voila ce que je fais :

$texte_new = "'";
$requete = "UPDATE `news_texte` SET `titre`='$titre_new',`texte`='$texte_new' WHERE `id_page` ='$nbr_page' and `id_news`='$id_news' and `place`='$place' LIMIT 1";
$result = @mysql_query($requete);

Et la biensur l'erreur arrive car comme $texte_news dans ma requete SQL devient ' la requete se transforme en
$requete = "UPDATE `news_texte` SET `titre`='$titre_new',`texte`=''' WHERE `id_page` ='$nbr_page' and `id_news`='$id_news' and `place`='$place' LIMIT 1";
$result = @mysql_query($requete);

d'ou l'erreur, si quelqu'un a une solution je la prend.

Merci.

Posté : 27 avr. 2005, 12:12
par Cyrano
utilise la fonction addslaches() pour "échapper" ces caractères particulier:
Donc avant la requête:
$texte_new = addslaches($texte_new);
Cette procédure va transformer les ' en \' .
Il ne faudra cependant pas oublier pour l'affichage d'utiliser la fonction inverse stripslaches(), sinon, les \ vont être affichés aussi.

Sinon, tu as un tuto tout frais sur PHPFrance sur les magicquotes

Posté : 27 avr. 2005, 12:14
par llandry
Alors franchement chapeau pour cette réponse rapide et clair.

Bonne journée à toi.