Insertion de code HTML dans une table, avec UPDATE
Bonjour à tous,
Je suis en train de développer pour l'un de mes sites une zone d'administration, où il est notamment possible de modifier le contenu des pages, pour des rédacteurs qui vont m'assister.
Ce contenu est constitué de code html basique : <p>, <h1> <img> <a> <blockquote> et, selon le cas, de <table> et sa clique.
Je n'ai eu aucun problèmes pour récupérer les données de la page à modifier (titre, rubrique et contenu) et les afficher dans un formulaire.
Les données du formulaire sont ensuite envoyées à une requete SQL UPDATE, qui se charge de mettre la ligne correspondante ($id) de la table 'page'.
Si je n'exécute que ce code, tout se passe sans problème et les données sont modifiées dans la table :
Code:
1 2 3 4 5 6 7 8 9 10 11 12
|
$id = $_POST['id'];
$title = $_POST['title'];
$rub = $_POST['rub'];
mysql_query("
UPDATE page SET
title = '" . mysql_real_escape_string ( $title ). "',
rub = '" . mysql_real_escape_string ( $rub ). "'
WHERE id=$id
") or die (mysql_error()); |
Maintenant, si je rajoute la variable $content dans la requete, comme ci-dessous :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
|
$id = $_POST['id'];
$title = $_POST['title'];
$rub = $_POST['rub'];
$content = $_POST['content'];
mysql_query("
UPDATE page SET
title = '" . mysql_real_escape_string ( $title ). "',
rub = '" . mysql_real_escape_string ( $rub ). "',
content = '" . mysql_real_escape_string ( $content ). "'
WHERE id=$id
") or die (mysql_error()); |
j'ai le message suivant qui s'affiche :
Citation:
You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'content = '
Petit test de contenu d\\\'une page...
' WH
C'est donc le code HTML contenu dans la variable $content.
Je ne crois rien voir dans mon code qui soit à l'origine du problème.
Je précise que j'utilise FCKEditor pour la modification du contenu, car certains de mes rédacteurs ne connaissent rien au HTML, même basique. Peut-il être à la base de mes ennuis ?
J'ai tenté avec addslashes(), rien...
Ca me laisse vraiment perplexe.
Merci d'avance pour votre aide :mrgreen: