Bonjour,
Je n'arrive pas à enregistrer dans ma bdd des valeurs avec des antislashs.
Code PHP :
Si je donne par exemple la valeur "A" (avec les guillemets) au champ listenom dans mon formulaire, la requête obtenue avec l'echo est :
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 $matricule = addslashes($_SESSION['matricule']); $entite = addslashes($_POST['entite']); $listenom = addslashes($_POST['listenom']); $date = time(); // requête insertion $requete = " INSERT INTO `base`.`listes` (`id_liste`, `matricule`, `entite`, `nom_liste`, `date`) VALUES ('' , '$matricule', '$entite', '$listenom', '$date'); "; $insertion = mysql_query($requete) OR die('Requête invalide : ' . mysql_error()); if ( $insertion ) { echo '<p>Enreg bdd ok</p>'; echo $requete; }
Ce qui est correct puisque j'ai bien les antislashs ajoutés.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 INSERT INTO `base`.`listes` (`id_liste`, `matricule`, `entite`, `nom_liste`, `date`) VALUES ('' , 'moi', 'BAT', '\"A\"', '1228402448');
Or si je vais voir dans PhpMyAdmin aucune valeur n'a d'antislash. Cela me pose un problème à l'extraction des données, je fais un stripslashes() (qui est inutile...) et mes valeurs s'affichent mal.
Config :
Wamp 2.0c sous XP
PHP Version 5.0.3
MySQL 4.1.22
Magic quotes désactivés dans le php.ini
Est-ce que vous avez une idée de l'origine du problème ? Moi je n'y comprend rien
Merci d'avance !
Partager