PHP? SQL caractères spéciaux

Résolu/Fermé
anatolekadel Messages postés 102 Date d'inscription jeudi 26 mai 2011 Statut Membre Dernière intervention 18 novembre 2011 - 21 juin 2011 à 18:28
anatolekadel Messages postés 102 Date d'inscription jeudi 26 mai 2011 Statut Membre Dernière intervention 18 novembre 2011 - 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...
A voir également:

7 réponses

Pyxouze Messages postés 175 Date d'inscription mercredi 20 mai 2009 Statut Membre Dernière intervention 29 juin 2012 21
21 juin 2011 à 18:31
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 ;)
0
wolves'sbrother Messages postés 218 Date d'inscription samedi 7 février 2009 Statut Membre Dernière intervention 13 juillet 2011 34
21 juin 2011 à 18:33
Salut,
Oui c'est faisable avec un champ de type text ou varchar.
0
anatolekadel Messages postés 102 Date d'inscription jeudi 26 mai 2011 Statut Membre Dernière intervention 18 novembre 2011 3
21 juin 2011 à 18:44
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
0
wolves'sbrother Messages postés 218 Date d'inscription samedi 7 février 2009 Statut Membre Dernière intervention 13 juillet 2011 34
21 juin 2011 à 20:52
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 :)
0

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

Posez votre question
anatolekadel Messages postés 102 Date d'inscription jeudi 26 mai 2011 Statut Membre Dernière intervention 18 novembre 2011 3
22 juin 2011 à 09:47
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...
0
wolves'sbrother Messages postés 218 Date d'inscription samedi 7 février 2009 Statut Membre Dernière intervention 13 juillet 2011 34
22 juin 2011 à 10:36
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.
0
anatolekadel Messages postés 102 Date d'inscription jeudi 26 mai 2011 Statut Membre Dernière intervention 18 novembre 2011 3
22 juin 2011 à 10:41
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
0