Bonjour,

J'ai lu des dizaines de trucs sur ce sujet mais cette fois ci je tourne en rond !
Pas moyen de supprimer les anti-slashes qui j'ajoute tout seul lorsqu'on insère des données texte dans la base avec un formulaire.

Pour commencer j'ai tester magic_quotes_gpc comme ça :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
<?php
echo get_magic_quotes_gpc();         // Retourne 0 si l'option est désactivée, si c'est activé retourne 1
?>
Dans mon cas c'est 1 donc l'option est activé.

La fonction que j'utilise pour insérer les données dans la base est celle ci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
    function update() {
    $id = $_REQUEST['id'];
    if(is_numeric($id)) {
      $sets = 'ts=NOW()';
      $rfields = $this->my->query('SHOW FIELDS FROM '.$this->table);
      if($rfields) {
        while(list($field,$fieldtype)=mysql_fetch_row($rfields)) {
          if($field!='ts' && $field!='id') {
            $sets.= ','.$field.'=\''.addslashes($_REQUEST[$field]).'\'';
         /* $sets.= ','.$field.'=\''.stripslashes($_REQUEST[$field]).'\''; */ //retourne error in your SQL syntax 
          }
        }
      }
      $query = 'UPDATE '.$this->table.' SET '.$sets.' WHERE id='.$id;
      // affiche le retour de la base de donnée
    //  echo "\$query=<b>$query</b><br>\n";
      $result = $this->my->query($query);
      if($result) {
        $this->home();
      } else {
        $this->err(mysql_error());
      }
    }
  }
Si j'utilise stripslashes le retour est :
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.....
Quelqu'un a une idée ?