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 :

[PostGreSQL] Trouver les ' et les remplacer par \' dans une chaine [PostgreSQL]


Sujet :

PHP & Base de données

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 67
    Points : 49
    Points
    49
    Par défaut [PostGreSQL] Trouver les ' et les remplacer par \' dans une chaine
    Bonjour,

    infos : dbb postgresql 8 et php 5

    voilà je viens de tombé sur un erreur tout bête. Quand je veux faire une insertion sur ma bdd via php de ce que l'utilisateur a écrit j'ai une erreur si le text comporte une ou des apostrophes.

    Sous pgsl il faut rajouter comme beaucoup de langage un \ et cela marche tout seul.

    Sauf que je peux pas demander aux utilisateur d'écrire avec des \ dans leur phrase.


    Est ce que qq pourrais m'aider a faire un systeme de vérification du genre, temps qu'il y a des ' seul dans une chaine, on les remplaces par des \'.

    J'ai pas beaucoup de notion php et du coup il doit bien y avoir des fonction pour faire cela simplement avec un algo tout bête mais...


    Merci pour votre aide

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    1 138
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 138
    Points : 1 504
    Points
    1 504
    Par défaut
    tu as addslashes entre autres qui permet de faire celà.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 67
    Points : 49
    Points
    49
    Par défaut
    héhé c'est génial, en une ligne je peux faire mon truc alors que je commencais a partir dans un algo avec des tonnes de boucle ^^


    merci bien

  4. #4
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 778
    Points
    17 778
    Par défaut
    N'utilisez surtout pas addslashes : c'est une fonction "générique" (et d'intérêt limité) qui ne prend pas en compte les spécificités de chaque SGBD ! En revanche, il y a généralement au moins une fonction spécifique proposée pour chaque SGBD (voir cette partie de la FAQ) et qui est donc bien plus appropriée.

    Il faut également savoir qu'une partie du travail est effectuée sur les variables externes (méthodes Get, Post, Cookie, Session) lorsque magic_quotes_gpc est à On sur le serveur (équivalent de addslashes mais effectué de façon automatique par PHP en interne) et dans ce cas il faut d'abord appliquer stripslashes avant de faire appel à la fonction adéquate. Pour savoir si cette fonctionnalité est active vous pouvez utiliser la fonction get_magic_quotes_gpc et ainsi vous faire une fonction portable comme par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    function quote_smart($string) {
        if (get_magic_quotes_gpc()) {
            $string = stripslashes($string);
        }
        return pg_escape_string($string);
    }
    Aujourd'hui il est conseillé d'avoir le paramètre magic_quotes_gpc à Off, ce qui évite notamment à avoir à faire des appels à stripslashes et de laisser au développeur le soin d'appliquer des traitements en fonction des données et de leur utilisation. En ce qui concerne les débutants, il vaut mieux qu'elle soit à On

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

Discussions similaires

  1. Réponses: 9
    Dernier message: 03/07/2012, 17h22
  2. remplacer les occurences d'un caractere dans une chaine par un autre
    Par lity7 dans le forum Shell et commandes GNU
    Réponses: 3
    Dernier message: 14/03/2008, 12h02
  3. Remplacer \ par \\ dans une string?
    Par g0ldenrno dans le forum Langage
    Réponses: 9
    Dernier message: 05/06/2006, 19h22
  4. Trouver ' et remplacer par \' dans une chaîne
    Par micatmidog dans le forum Général Python
    Réponses: 9
    Dernier message: 23/12/2005, 16h09
  5. Compter les occurences d'un car dans une chaine/variable
    Par sherlockfr dans le forum Windows
    Réponses: 2
    Dernier message: 10/11/2005, 07h48

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