Les Allergies
Alimentaires
Posez votre question Signaler

PHP? SQL caractères spéciaux [Résolu]

anatolekadel 73Messages postés 26 mai 2011Date d'inscription 18 novembre 2011Dernière intervention - Dernière réponse le 22 juin 2011 à 10:41
Bonjour, j'aimerais insérer dans une base de données du code HTML.
Voilà le type de code <p style="text-align: left;"><strong>message1</strong>, <em><span style="text-decoration: underline;">message 2</span></em></p> .
Bref du code basique, mais avec des caractères spéciaux.
Et justement, je n'arrive pas à insérer ce code dans ma base de données.
Est-ce qu'il y a un type de champs spécifique pour ce genre de chose ou est-ce qu'il y a une fonction php qui permet d'encoder (ou que sais-je) dans un format approprié ?
Sachant qu'au final, je dois récupérer ce code et affiché tel qu'il a été écrit...
Lire la suite 

PHP? SQL caractères spéciaux »

7 réponses
Réponse
+0
moins plus
Montre nous t'as requête SQL qui enregistre ce code pour le moment.
Je crois que si tu ne la protège pas avec htmlspecialchars, les caractère rentreront tels qu'ils sont et sortiront comme ils sont rentrés ;)
Ajouter un commentaire
Réponse
+0
moins plus
Salut,
Oui c'est faisable avec un champ de type text ou varchar.
Ajouter un commentaire
Réponse
+0
moins plus
Alors merci vous de vous intéresser à mon sujet.
Donc, dans le formulaire d'insertion, j'ai un type TEXT pour le sujet du message.
Et un TEXTAREA pour le corps du message (et c'est ça qui pose problème. Parce qu'il contient du code HTML à la réception par le PHP...

Donc ma requête sql est celle-ci
//Pour simplifier les choses, je met pas de variables, juste la requête que je pourrai rentrer dans PHPMyAdmin par exemple

INSERT INTO mp VALUES (1, "Sujet1", "<p style="text-align: left;"><strong>message1</strong>, <em><span style="text-decoration: underline;">message 2</span></em></p>")

Le 1, c'est l'ID du message, il s'auto-incrémente mais pour l'exemple, j'ai mis 1... Le Sujet1, c'est le sujet du message (l'entête quoi).
Et le reste, bah, c'est le code qui me taquine :D
Dans ma table mp, j'ai comme champs
idMessage (type= INT)
sujetMessage(type= VarChar(50))
CorpsMessage(tyope=TEXT).
Voilà, j'ai expliqué tout ce que je pouvais ;D
Ajouter un commentaire
Réponse
+0
moins plus
Poste le code html du formulaire et le code php qui recupere les infos et execute la requete; comme ça on trouvera le probleme plus rapidement :)
Ajouter un commentaire
Réponse
+0
moins plus
Je ne pense pas que cela arrangerait les choses...

Essaye la requête (que j'ai posté) sur PHPMyAdmin, tu verras elle ne fonctionne pas...
Ajouter un commentaire
Réponse
+0
moins plus
C'est normal que ça marchera pas.
La chaine de caractères que tu récupère contient des ("), alors il faudra que tu les entours de (') :
INSERT INTO mp VALUES (1, "Sujet1", '<p style="text-align: left;"><strong>message1</strong>', '<em><span style="text-decoration: underline;">message 2</span></em></p>') 

SI tu exécute cette requete dans phpMyAdmin, ça va marcher mais si je t'ai demandé de poster ton code php , c'est parce que je pense que le problème se trouve dans la requete, est j'ai besoin de voir la requete avec les variables pour pouvoir corriger le problème.
Ajouter un commentaire
Réponse
+0
moins plus
Non, mais c'est bon, c'est juste les guillemets...
Parfois, on chercher tellement l'erreur quelque part qu'on oublie l'essentiel ^^

Pour mon code PHP, c'est rien de très compliqué. C'est pour ça que je n'ai pas jugé utile de partager ce-dernier.

Et bien, merci :D
Ajouter un commentaire
Ce document intitulé « PHP? SQL caractères spéciaux » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?