Insertion code html dans Mysql

nizar_b15 Messages postés 26 Statut Membre -  
nizar_b15 Messages postés 26 Statut Membre -
Bonjour,
Je veux insérer du code html dans une base mysql.
Mon ancien script est
$sql = "UPDATE ads SET code = '$code' WHERE id = $id " ;

J'ai essayer avec ce code
$sql = "UPDATE ads SET code = mysql_real_escape_string('$code') WHERE id = $id " ;
mais ce code me donne une erreur qui dit "FUNCTION ma_base.mysql_real_escape_string does not exist"

Ma table est :
CREATE TABLE 'ads' (
'id' int(11) not null auto_increment,
'nom' varchar(30) not null,
'code' text not null,
KEY 'id' ('id')
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=6;

Y-a- t-il quelqu'un qui peux m'aider ?

2 réponses

  1. ze-life-of-quent1 Messages postés 2169 Statut Membre 780
     
    Bonjour,
    mysql_real_escape_string est une fonction de PHP! Vous devez donc remplacer:
    $sql = "UPDATE ads SET code = mysql_real_escape_string('$code') WHERE id = $id " ;
    par
    $sql = "UPDATE ads SET code='" . mysql_real_escape_string($code) . "' WHERE id='$id'";

    EDIT: suppression d'une erreur. Merci à gregreg!
    Pas de support par message privé. Et si on pouvais m'appeler Quentin (ça fait plus classe que "ze-life" ^^).
    1
    1. nizar_b15 Messages postés 26 Statut Membre 1
       
      Ce ci me donne une 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 'id = 2' at line 1
      0
    2. gregreg
       
      mysql_real_escape_string($code) sans les ' '
      0
    3. ze-life-of-quent1 Messages postés 2169 Statut Membre 780
       
      @nizar_b15: j'ai modifié le second code. Remplacez l'ancien par le nouveau.
      @gregreg: merci de l'avoir signalé!
      0
    4. nizar_b15 Messages postés 26 Statut Membre 1
       
      de rien quentin je vais le tester mnt
      0
    5. nizar_b15 Messages postés 26 Statut Membre 1
       
      voila mnt ca marche bien.
      mais dans la base avant le code il y a ce code inséré "mysql_real_escape_string(" et apres il y a ") ." Ces deux codes sont affiché sur la page web. Comment je peux les éliminer quand j'utilise ce code la

      <?php
      mysql_connect("localhost","root","");
      mysql_select_db("ma_base") ;
      $id=$_GET['id'];
      $reponse = mysql_query("SELECT * FROM tv WHERE id=$id;");
      while ($donnees = mysql_fetch_array($reponse) )
      {
      ?>
      </center>
      <h2 style="text-align: center">Regarder la chaine <?php echo $donnees['titre']; ?> en direct</h2>
      <center>
      <object>
      <?php echo $donnees['screen']; ?>
      </object></center>

      <?php
      }
      ?>
      0
  2. -Quentoche- Messages postés 705 Statut Membre 200
     
    Bonsoir,
    Tu es bien connecter a ta base de donnees ?
    0
    1. nizar_b15 Messages postés 26 Statut Membre 1
       
      oui biensure. J'ai mis seulement la ligne du code d'insertion.
      Voici toute la page :




      <?php
      //connection au serveur
      $cnx = mysql_connect( "localhost", "root", "" ) ;

      //sélection de la base de données:
      $db = mysql_select_db( "ma_base" ) ;

      //récupération des valeurs des champs:

      $id = $_POST["id"] ;
      $code = $_POST["code"] ;

      //création de la requête SQL:
      $sql = "UPDATE ads SET code = '$code' 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("<p align=\"center\">La modification à été correctement effectuée.<p>") ;
      }
      else
      {
      echo("<p align=\"center\">La modification à échouée.<p>") ;
      }
      ?>
      0
    2. -Quentoche- Messages postés 705 Statut Membre 200
       
      Le probleme c'est que tu n'execute pas ta variable qui te permet de choisir la base de donnees ($db)

      En gros tu demandes de ce connecter a la base de donnees mais il ne s'est pas quel base choisir.
      0
    3. nizar_b15 Messages postés 26 Statut Membre 1
       
      Je sélectionne la base par ce code
      //sélection de la base de données:
      $db = mysql_select_db( "ma_base" ) ;
      0