Page 1 sur 1

Impossible d'enregistrer un longtext dans ma base Mysql :(

Posté : 16 avr. 2005, 12:02
par Invité
Bonjour, je suis confronté à un problème surement simple à résoudre mais j'y arrive pas tout seul.
Voila j'ai une base:

Code : Tout sélectionner

CREATE TABLE ed_citations( id INT NOT NULL AUTO_INCREMENT , nom varchar( 20 ) NOT NULL , citation longtext NOT NULL , date DATE NOT NULL , PRIMARY KEY ( id ))
Quand j'essaie dy enregistrer un text un peu long:
Ma grand-mère disait : Ne donnez jamais un avis car avec le droit vous risquez de perdre même si vous avez raison, si ça n'a pas été prévu dans le contrat.et patati et patata
qui fait 155 caractère d'après la fonction strlen

Donc j'enregistre dans la table de cette manière:

Code : Tout sélectionner

$re_date=date("Y-m-d"); echo $citation_save; echo strlen($citation_save); $query_ins=mysql_query("INSERT INTO ed_citations( id ,nom,citation,date ) VALUES (' ','$name_save','$citation_save', '$re_date') " );
Elle s'affiche bien sur la page avec sa taille mais dans la DB et bien ca ne marche pas. ( meme après raffraichissement ) enfait ca dépend de la phrase. y en qui s'enregistre et d'autre jamais. c pas aleatoire mais ca dépend bien de la phrase et sa longueure semble ne pas être le factteur qui fache.

par exemple cette phrase s'enregistre très bien:
Dès le matin, le droit est avec vous, par exemple lorsque vous appuyez sur votre interrupteur vous avez de la lumière car vous avez un contrat avec EDF !
alors moi je suis perdu :cry:[/quote]
je travaille avec easyphp 1.8

Posté : 16 avr. 2005, 12:12
par Invité
alors j'ai une piste:
en faisant retourner l'erreur avec 'or die' j'ai:
error->Erreur de syntaxe près de 'a pas été', '2005-04-16')' à la ligne 1
en fait j'ai trouvé ca vient de l'appostrophe ! mais je fais comment pour mettre une " ' " dans mon texte ?
svp :cry:

Posté : 16 avr. 2005, 12:16
par hrz
salut
voir doc php à:
htmlspecialchars() :-k

Posté : 16 avr. 2005, 12:25
par Invité
désolé pour poster autant.
bon j'ai trouvé comme un grand :lol: grâce au tuto.

Ma nouvelle question est la suivante : comme faire pour empêcher que des balise HTML ou php soit introduite dedans et qu'elle soit executé après, cr déjà une simple apostrophe fou la merde alors un script php...

merci

Posté : 16 avr. 2005, 12:27
par Invité
bon alors en fait j'ai utiliser: addslashes pour les caractères spéciaux
mais ton htmlspecialchars() répond à toutes mes questions ! thx

Posté : 16 avr. 2005, 12:48
par dr23
bah en fai j'ai encord un dernière question :lol: :lol: :lol:
si maintenant, les balises html ou tout autre balise sont interdite, je fais comment pour prendre en compte les retours à la ligne ?
parceque dans le textarea si je tape sur entrer, le retour à la ligne apparait dans la zone de saisie de texte, mais il est pas pris en compte !

merci encore

ps: faudrait faire un tuto sur comment faire un messageboard ( forum koi ) , enfin un tout petit. meme si ce n'en est pas un que je fais, ca y ressemble énormément.

Posté : 17 avr. 2005, 19:47
par Invité
:cry: :cry: :cry: :cry:
personne n'a la solution ?

Posté : 17 avr. 2005, 20:02
par pjl
Fonction nl2br.