Problème avec syntax SQL

Résolu
Jeremsky94 Messages postés 25 Statut Membre -  
tryan44 Messages postés 1381 Statut Membre -
Bonjour,

Alors je vous explique mon problème, j'ai créer mon système de news qui comporte une modification et une suppression de la news.
La suppression marche super bien, mais la modification non.

J'explique ce problème.
Donc à chaque modification du titre, quand je met un accent ben sa ne l'ajoute pas et sa me met cet erreur : 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 'amélioration', contenue = '

Voici le code du formulaire modifier.php :
<?php
  //connection au serveur:
  $cnx = mysql_connect( "localhost", "funados", "" ) ;
 
  //sélection de la base de données:
  $db = mysql_select_db( "funados" ) ;
  //récupération de la variable d'URL,
  //qui va nous permettre de savoir quel enregistrement modifier
  $id  = $_GET["idnews"] ;
 
  //requête SQL:
  $sql = "SELECT *
            FROM newsfa
	    WHERE id = ".$id ;
 
  //exécution de la requête:
  $requete = mysql_query( $sql, $cnx ) ;
  //affichage des données:
  if( $result = mysql_fetch_object( $requete ) )
  {
  ?>
<script type="text/javascript" src="ckeditor/ckeditor.js"></script>
    <script src="ckeditor/_samples/sample.js" type="text/javascript"></script>
    <link href="ckeditor/_samples/sample.css" rel="stylesheet" type="text/css" />

  <form name="insertion" action="modification_accepter.php" method="POST">
  <input type="hidden" name="id" value="<?php echo($id) ;?>">
  <table border="0" align="center" cellspacing="2" cellpadding="2">
    <tr align="center">
      <td>Titre : </td>
      <td><input type="text" name="titre" value="<?php echo($result->titre) ;?>"></td>
    </tr>
    <tr align="center">
      <td>contenue</td>
      <td><textarea cols="80" id="editor1" type="text" name="contenue" rows="10"><?php echo($result->contenue) ?></textarea>
      <script type="text/javascript">
      
        CKEDITOR.replace( 'editor1' );

      </script></td>
    </tr>
    <tr align="center">
      <td colspan="2"><input type="submit" value="modifier"></td>
    </tr>
  </table>
</form>
<?php } ?>


Et voici le code d'acceptation :
<?php
  //connection au serveur
  $cnx = mysql_connect( "localhost", "funados", "" ) ;
 
  //sélection de la base de données:
  $db  = mysql_select_db( "funados" ) ;
  //récupération des valeurs des champs:
  //nom:
  $titre     = $_POST["titre"] ;
  //prenom:
  $contenue = $_POST["contenue"] ;
 
  //récupération de l'identifiant de la personne:
  $id         = $_POST["id"] ;
 
  //création de la requête SQL:
  $sql = "UPDATE newsfa
            SET titre         = '$titre', 
	          contenue     = '$contenue'
           WHERE id = '$id' " ;
 
  //exécution de la requête SQL:
  $requete = mysql_query( $sql, $cnx) or die( mysql_error() ) ;
 
  //affichage des résultats, pour savoir si la modification a marchée:
  if($requete)
  {
    echo("La modification à été correctement effectuée") ;
  }
  else
  {
    echo("La modification a echouee") ;
  }
?>


Voilà merci par avance de votre aide que vous pourrez me parvenir.
Au revoir.
A voir également:

5 réponses

tryan44 Messages postés 1381 Statut Membre 220
 
Salut,

Est ce qu'un stripslashes() sur les $_POST ne résoudrais pas le problème?
  //nom:
  $titre     =  stripslashes($_POST["titre"]) ;
  //prenom:
  $contenue =  stripslashes($_POST["contenue"] );
0
Jeremsky94 Messages postés 25 Statut Membre 1
 
J'avais essayé mais c'est toujours pareil, sa fait toujours la même erreur :x
0
tryan44 Messages postés 1381 Statut Membre 220
 
Merdouille, il n'y aurai pas une histoire au niveau des magic_quotes_gpc?

Perso et avec l'utilisation de CKEDITOR je procède de cette façon :
	<textarea name="commentaire" rows="10" cols="50"><?php
	if (!empty($_POST["commentaire"])) {
		echo stripcslashes(htmlspecialchars($_POST["commentaire"],ENT_QUOTES));
	}
	?></textarea>

Le traitement
$commentaire = htmlspecialchars(stripcslashes($_POST["commentaire"]));

L'enregistrement
'".mysql_real_escape_string($commentaire)."'
0
Jeremsky94 Messages postés 25 Statut Membre 1
 
Cela ne marche toujours pas :(
0

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

Posez votre question
Jeremsky94 Messages postés 25 Statut Membre 1
 
J'ai réussi ;)
Mon pote ma aider il fallait que je rajoute un Mysql escape string
0
tryan44 Messages postés 1381 Statut Membre 220
 
Ce que j'avais indiqué pour l'enregistrement dans le poste plus haut :)..
0