IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

slashes qui ne s'ajoutent pas dans la bd [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre confirmé Avatar de Sayrus
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    899
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2005
    Messages : 899
    Points : 570
    Points
    570
    Par défaut slashes qui ne s'ajoutent pas dans la bd
    Bonjour,

    Comme indiqué dans le titre, je n'arrive pas à, lors de l'insertion de données dans la bd, ajouter les slashes pour protéger les quotes.

    voici une portion de php.ini :

    Code X : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    ; Magic quotes for incoming GET/POST/Cookie data.
    magic_quotes_gpc = Off
    
    ; Magic quotes for runtime-generated data, e.g. data from SQL, from exec(), etc.
    magic_quotes_runtime = Off
    
    ; Use Sybase-style magic quotes (escape ' with '' instead of \').
    magic_quotes_sybase = Off

    Voici ce que j'utilise pour ajouter les infos dans la base de données :

    addslashes($var); #Insertion dans la bd

    et stripslashes($var); #affichage des données sur le site

    J'ai été voir dans la bd, et les ' et " ne possède pas de \' ou \"

    Que puis-je faire? je ne vois pas d'où vient le problème...

    Merci beaucoup et bonne aprèm.

  2. #2
    Membre expert
    Avatar de trotters213
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 571
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 571
    Points : 3 145
    Points
    3 145
    Par défaut

    Pour protéger tes requêtes sur une bd tu peux utiliser mysql_real_escape_string

  3. #3
    Membre confirmé Avatar de Sayrus
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    899
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2005
    Messages : 899
    Points : 570
    Points
    570
    Par défaut
    Salut,

    J'ai déjà essayé mysql_real_escape_string() et je viens encore de réessayé mais sans succès. Dans la base de données j'ai toujours les " et ' sans \ devant.

    Une autre idée peut-être?

    Merci.

  4. #4
    Membre éclairé Avatar de haltabush
    Profil pro
    Développeur Web
    Inscrit en
    Avril 2005
    Messages
    726
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2005
    Messages : 726
    Points : 835
    Points
    835
    Par défaut
    C'est normal, le but n'est pas de déformer les données insérées dans la BD mais d'éviter que ta requête ne soit coupée avant.
    Par exemple, essaye de faire un INSERT INTO tatable VALUES ('', 'bientot l'heure de l'apéro!'). Ca bug, normal.
    Avec un mysql_escape_string, tu aura INSERT INTO tatable VALUES ('', 'bientot l\'heure de l\'apéro!'). Je ne pense pas t'apprendre grand chose, là.
    Par contre, quand tu envoie cette requête à MySql, il va interprété les \' : il comprendra (qu'est-ce qu'il est intelligent!) que les \ ne sont là que pour échapper les ' et donc il ne les enregistrera pas..

    Si tu tiens tellement a avoir des \ de partout, fait 2 fois addslashes (ou plutot mysql_real_escape_string)

  5. #5
    Membre confirmé Avatar de Sayrus
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    899
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2005
    Messages : 899
    Points : 570
    Points
    570
    Par défaut
    Effectivement tu viens de m'apprendre quelque chose!

    J'utilisais toujours magic_quotes_gpc On avant, les slashes s'ajoutaient, et là ils ne s'ajoutent plus.

    Donc c'est normal

    Un grand merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 5
    Dernier message: 07/06/2011, 13h27
  2. page qui n'ajoute pas dans ma base
    Par Chedi dans le forum Langage
    Réponses: 5
    Dernier message: 18/12/2010, 12h21
  3. [MySQL] Valeur qui ne s'ajoute pas dans une BDD
    Par Luverger dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 09/02/2007, 11h04
  4. excel: colonne qui ne s'affiche pas dans une liste
    Par fast&furious dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 19/07/2006, 18h12
  5. Champs qui ne s'affichent pas dans formulaire
    Par capitaine dans le forum Access
    Réponses: 1
    Dernier message: 02/06/2006, 15h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo