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

Langage SQL Discussion :

Comparaison de chaînes avec apostrophe


Sujet :

Langage SQL

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 14
    Points : 14
    Points
    14
    Par défaut Comparaison de chaînes avec apostrophe
    Bonjour,

    Dans ma base de données j'ai enregistré la chaîne de caractères l'ami telle quelle (sans antislash devant l'apostrophe).

    Pourquoi la requête ci-dessous, avec $mavariable="l'ami" aussi bien qu'avec $mavariable="l\'ami" ne retourne-t-elle rien ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT * FROM ma_table
    WHERE mon_champ = '$mavariable'
    Précision importante : cette requête fonctionne pour toutes les variables qui n'ont pas d'apostrophe.

    Merci pour votre aide

  2. #2
    Expert confirmé
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 69
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Points : 4 047
    Points
    4 047
    Par défaut
    Bonjour,

    Et comme ça ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $mavariable="l''ami"
    SELECT * FROM ma_table
    WHERE mon_champ = '$mavariable'

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 14
    Points : 14
    Points
    14
    Par défaut
    Je viens d'essayer ça ne fonctionne pas. Mais j'avais lu quelque-part que cette solution était pour ASP, moi je travaille avec MySQL et un serveur Apache... oups peut-être ne suis-je pas sur le bon forum

  4. #4
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 098
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 098
    Points : 28 406
    Points
    28 406
    Par défaut
    En SQL, quel que soit le langage associé, une apostrophe dans une chaîne de caractères doit être doublée dans la requête.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT  * 
    FROM    ma_table
    WHERE   mon_champ = 'l''ami'
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 14
    Points : 14
    Points
    14
    Par défaut
    Je viens de m'apercevoir que je focalise depuis plusieurs jours sur cette requête alors que le problème venait du traitement du résultat sous php...

    Désolé pour le dérangement, je confirme que les solutions proposées par pc75 et al1_24 fonctionnent bien.

    Ceci dit c'est quand-même grâce à vous que je me suis enfin décidé à chercher l'erreur ailleurs que dans la requête SQL alors merci !

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

Discussions similaires

  1. Chaîne avec apostrophe pour lien
    Par richard_sraing dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 15/05/2009, 12h20
  2. [PHP-JS] Comparaison un URL avec une chaîne de caractères
    Par moustique95 dans le forum Langage
    Réponses: 5
    Dernier message: 06/08/2008, 10h05
  3. [MySQL] comparaison mysql avec apostrophe (encore !?)
    Par christoff dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 26/03/2008, 12h00
  4. Comparaison de chaîne impossible avec la fonction LOWER
    Par Kerod dans le forum Accès aux données
    Réponses: 4
    Dernier message: 24/02/2008, 18h37
  5. Comparaison de chaîne (avec pourcentage ou...)
    Par yves232 dans le forum Langage
    Réponses: 4
    Dernier message: 26/04/2006, 17h23

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