envoie de caratere spéciaux dans une table

llandry
Invité n'ayant pas de compte PHPfrance

27 avr. 2005, 12:07

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.

Mammouth du PHP | 19672 Messages

27 avr. 2005, 12:12

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
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

llandry
Invité n'ayant pas de compte PHPfrance

27 avr. 2005, 12:14

Alors franchement chapeau pour cette réponse rapide et clair.

Bonne journée à toi.