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 :

[SQL] magic quotes ou double apostrophes pour échapper apostrophe


Sujet :

PHP & Base de données

  1. #1
    Nouveau membre du Club
    Inscrit en
    Décembre 2003
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 52
    Points : 35
    Points
    35
    Par défaut [SQL] magic quotes ou double apostrophes pour échapper apostrophe
    Bonjour,

    J'ai une requête SQL dans ma page PHP pour insérer du texte dans une base de données Access.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $query = "insert INTO loi(nom,type_plan,loi_plan,description_loi)";           
    $query .= "VALUES ('$nom','$type','$loi','$desc');";
    J'ai essayé d'utiliser magicquotes() mais j'ai toujours un message d'erreur quand je met un anti-slash avant une paostrophe pour l'échapper.
    Par contre si je met une double apostrophe, cela fonctionne mais je voudrais savoir si il y a une fonctionPHP qui existe car j'ai des textes a insérer dans la base de données et je ne sais pas comment faire pour parcourir le texte et mettre une autre apostrophe si il y en a deja une.

    Merci de votre aide

    Cordialement,

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    77
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 77
    Points : 57
    Points
    57
    Par défaut
    pour échapper les caractères du type " ' " tu peux mettre la fonction mysql_real_escape_string(nom_variable), il y a un post un peu plus loin qui répond à cette question

  3. #3
    Nouveau membre du Club
    Inscrit en
    Décembre 2003
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 52
    Points : 35
    Points
    35
    Par défaut
    J'ai une base access je ne peux donc pas utiliser la fonction mysql_real_escape_string(nom_variable)!!!
    Je n'ai pas trouvé une autre fonction qui peut marcher.....y a t il une possibilité??

    Merci

  4. #4
    Membre actif Avatar de BenoitDenis
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    536
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Avril 2005
    Messages : 536
    Points : 237
    Points
    237
    Par défaut
    http://fr.php.net/manual/fr/function.addslashes.php

    Ca devrait t'aider je pense si j'ai bien compris le problème
    Le contenu est roi, optimisé il est empereur...

    Comme la Hongrie, le monde informatique a une langue qui lui est propre. Mais il y a une différence. Si vous restez assez longtemps avec des Hongrois, vous finirez bien par comprendre de quoi ils parlent.

    http://www.tethis-interactive.com

  5. #5
    Nouveau membre du Club
    Inscrit en
    Décembre 2003
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 52
    Points : 35
    Points
    35
    Par défaut
    Merci pour votre aide mais addslashes() est une fonction qui rajoute des anti slash avant l'apostrophe mais je cherche a mettre a trouver comment mettre une autre apostrophe à la place de l'antislash. car avec SQL une seconde apostrophe échappe la première.
    Mais je ne sais pas du tout comment m'y prendre... existe-t-il une fonction pour cela?

    merci

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    77
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 77
    Points : 57
    Points
    57
    Par défaut
    peut etre en remplaçant automatiquement les ' par '' avec la fonction str_replace();

    http://fr.php.net/manual/fr/function.str-replace.php

  7. #7
    Membre actif Avatar de BenoitDenis
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    536
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Avril 2005
    Messages : 536
    Points : 237
    Points
    237
    Par défaut
    l'antisclash aussi echappe l'apostrophe

    sinon

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    str_replace("'","''",$tachaine)
    http://fr.php.net/manual/fr/function.str-replace.php
    Le contenu est roi, optimisé il est empereur...

    Comme la Hongrie, le monde informatique a une langue qui lui est propre. Mais il y a une différence. Si vous restez assez longtemps avec des Hongrois, vous finirez bien par comprendre de quoi ils parlent.

    http://www.tethis-interactive.com

  8. #8
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    Pour information :
    http://us2.php.net/manual/fr/ref.sybase.php#ini.magic-quotes-sybase

Discussions similaires

  1. [Toutes versions] Requête SQL avec Simples et Doubles Quotes
    Par Roums dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 25/03/2010, 11h00
  2. [C#] Double click pour agrandir la fenêtre... Problème
    Par Radium133 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 17/01/2006, 18h41
  3. [MySQL] transformer une simple quote en double pour un insert !!
    Par st0nky dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 11/01/2006, 17h38
  4. double click pour soumission de formulaires
    Par pram dans le forum XMLRAD
    Réponses: 2
    Dernier message: 16/11/2005, 13h32
  5. [SQL - ORACLE] Requete un peu compliquée (pour moi)
    Par Worldofdada dans le forum Langage SQL
    Réponses: 15
    Dernier message: 03/11/2005, 09h25

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