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 :

Select like et quotes [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mars 2004
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 28
    Par défaut Select like et quotes
    Salut à tous !

    Je me sens un peu con, après quelques mois sans développer, parce que je fais face à un problème de débutant... Mais vous savez ce que c'est, on s'encroûte, et puis on repart sur un environnement configuré par défaut, on a plus ses milliers de lignes de code pour faire du copier/coller à tout va, et c'est le drame...

    Donc, je fais une requête super simple, dans un bloc de code simple aussi, que voici :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    mysql_connect("localhost","root","");
    mysql_select_db("wikidb");
     
    $field = "Catégorie";
     
    //création de la requete
    $query = "SELECT text.* FROM text,revision
    		WHERE text.old_id = revision.rev_text_id
    		AND text.old_text LIKE '%".$field.
    		"%'AND rev_id = (SELECT max(rev_id) FROM text,revision
    		WHERE text.old_id = revision.rev_text_id
    		AND old_text LIKE '%".$field."%')";
     
    echo $query."<br><br>";
    $result = mysql_query($query);
    $display = mysql_fetch_array($result);
    echo "<PRE>";
    print_r($display);
    echo "</PRE>";
    La ligne qui affiche la requête fonctionne, et la requête elle-même passe sans problème avec un query browser. Mais là, aucun résultat n'est affiché, ni aucune erreur.
    J'ai vérifié les magic quotes, elles sont à off. Quand je retire de ma requête les lignes contenant les like et les quotes, ça fonctionne.

    Quelqu'un peut m'éclairer ?


    Merci !

  2. #2
    Membre Expert Avatar de darkstar123456
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    1 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 1 895
    Par défaut
    les accents cay le mal ! l'encodage de ta page est-elle le même que celle de ta DB ? essaye de chercher avec "Categorie"

  3. #3
    Membre averti
    Inscrit en
    Mars 2004
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 28
    Par défaut
    C'est vrai, c'est mal, j'avoue.

    J'ai tenté avec Categorie, sans plus de succès, évidemment, puisqu'il y a des accents dans ma base, haha...

    Par contre, avec Cat, ça fonctionne. Bizarre, bizarre, mais ça roule, je vais creuser du côté de l'encodage, merci beaucoup darkstar !

  4. #4
    Membre Expert Avatar de darkstar123456
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    1 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 1 895
    Par défaut
    Citation Envoyé par Teppic Voir le message
    C'est vrai, c'est mal, j'avoue.

    J'ai tenté avec Categorie, sans plus de succès, évidemment, puisqu'il y a des accents dans ma base, haha...

    Par contre, avec Cat, ça fonctionne. Bizarre, bizarre, mais ça roule, je vais creuser du côté de l'encodage, merci beaucoup darkstar !
    si "Categorie" n'a pas marché, ça dépend de l'encodage de ta DB. Admettons que ton encodage soit en iso, tu as surement un "latin1_swedish_ci". Contrairement à ce que beaucoup pense, ça n'a pas grand chose à voir avec les caractères (un peu bien sur car c'est de l'ISO et pas de l'UTF8 par exemple) MAIS CE N'EST PAS TOUT !

    Car si on réfléchis plus loin, quelles pourraient être les différences avec "latin1_bin", "latin1_danish_ci", etc ? Et bien il s'agit de l'ordre de classement et de la prise en considération des accents ou non !

    Faudrait que je retrouve un PDF vachement bien fait mais je sais pu du tout où il est
    En gros, avec le type de base "X"
    - le classement se fera comme suit (sur le 1er caractere) :
    chiffres, caracteres spéciaux, lettre Maj, lettre min
    - et les accents ne seront pas pris en compte dans les recherches


    Il faut donc croire que ton encodage prend en compte les accents

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

Discussions similaires

  1. slash dans un select like
    Par Lorenzox dans le forum Débuter
    Réponses: 1
    Dernier message: 08/11/2010, 17h42
  2. Requete select LIKE un peu complexe
    Par dembroski dans le forum Requêtes
    Réponses: 1
    Dernier message: 21/05/2010, 11h13
  3. cmt faire prendre en compte un _ dans un select like
    Par Mihalis dans le forum Bases de données
    Réponses: 2
    Dernier message: 25/01/2007, 21h46
  4. SELECT ... LIKE %[%
    Par edid dans le forum Oracle
    Réponses: 6
    Dernier message: 14/03/2006, 15h53
  5. requette select like avec un caractere de moins
    Par firejocker dans le forum Langage SQL
    Réponses: 2
    Dernier message: 27/10/2005, 09h01

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