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 :

Détecter des apostrophes non échappées [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre averti Avatar de renaud26
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    1 365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 1 365
    Points : 436
    Points
    436
    Par défaut Détecter des apostrophes non échappées
    Bonjour à Tous,

    Je dois transférer du contenu MySQL d'une table dans une autre. Pour X raisons, certaines chaines de caractères de la base 1 présentent des apostrophes échappées et d'autres pas :

    C'est une chaine non échappées
    C\'est une chaine échappée
    Donc forcément, si j'échappe tout systématiquement, j'aurai des apostrophes correctes et d'autres doublement échappées.
    J'ai essayé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    if(strpos("'",$content) !== false && strpos("\\",$content) === false){
    	echo "la chaine ".$content." doit être échappée<br />";
    }
    Mais ça ne retourne rien.
    Merci de votre aide.

    EDIT : je suis un âne ! strpos était employée à l'envers

  2. #2
    Membre averti Avatar de renaud26
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    1 365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 1 365
    Points : 436
    Points
    436
    Par défaut
    Bonjour à Tous,

    Je me permets de revenir sur ce post, car même avec :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    if(strpos($content, "'") !== false && strpos($content, "\\") === false){
    	$content =  mysql_real_escape_string($content);
    }
    Le but étant d'échapper les apostrophes qui ne le sont pas déjà pour éviter les "c\\\'est une apostrophe".
    Merci de votre aide.

  3. #3
    Membre émérite Avatar de Djakisback
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 021
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 2 021
    Points : 2 278
    Points
    2 278
    Par défaut
    Salut,
    est-ce qu'une même chaîne peut contenir des apostrophes échappés et non échappées ?
    Bon de toute façon perso je partirais plutôt dans l'autre sens en systématique, si t'as pas de contrainte de perfs :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $content =  mysql_real_escape_string(str_replace('\\', '', $content));
    Edit : ou plutôt ça en fait histoire de ne faire le remplacement que sur le simple quote :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $content =  mysql_real_escape_string(str_replace("\\'", "'", $content));
    Vive les roues en pierre

  4. #4
    Membre averti Avatar de renaud26
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    1 365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 1 365
    Points : 436
    Points
    436
    Par défaut
    Merci beaucoup !
    Très gourmand, mais efficace.
    Bonne fin de journée.

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

Discussions similaires

  1. Wget - télécharger des fichiers non-html
    Par narmataru dans le forum Réseau
    Réponses: 10
    Dernier message: 14/07/2018, 15h20
  2. Détecter des caractères non-ASCII
    Par gvdmoort dans le forum Ruby
    Réponses: 2
    Dernier message: 27/01/2008, 13h16
  3. Problème avec des composants non déclarés
    Par vbcasimir dans le forum Bases de données
    Réponses: 1
    Dernier message: 20/01/2005, 11h17
  4. Réponses: 6
    Dernier message: 04/04/2003, 15h28
  5. Une fonction avec des attributs non obligatoires
    Par YanK dans le forum Langage
    Réponses: 5
    Dernier message: 15/11/2002, 13h39

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