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

Requêtes MySQL Discussion :

LIKE et nature du champ !


Sujet :

Requêtes MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2002
    Messages
    329
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Vosges (Lorraine)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2002
    Messages : 329
    Par défaut LIKE et nature du champ !
    Bonjour,

    J'utilise un petit code php mais le souci ne vient pas du code php mais du code mysql
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    if(isset($_POST['recherche_input']))
    	{
    		$mot_recherche=$_POST['recherche_input'];
    	}
     
     
    	$req_recherche= "SELECT id, axe, titre, texte, photo, dimension, date_publication, WEEKDAY(date_publication) AS jour FROM tblarticles WHERE texte LIKE '".$mot_recherche."'";
        $sql_recherche = mysql_query($req_recherche);
    	echo mysql_num_rows($sql_recherche);
    Je fais une recherche pour lister les articles contenant le mot "vendredi" par exemple.

    $_POST('recherche_input'] me retourne bien le mot "vendredi".
    Je sais pertinemment que le mot 'vendredi' est dans le champ 'texte' de plusieurs articles (puisque je teste mon code), mais mysql_num_rows me retourne 0 !!

    Est-ce LIKE doit être utilisé avec un format particulier de champ (TEXT ou BLOB)?
    Je n'ai pas trouvé d'infos sur l'aide en ligne de mysql.

    Pouvez-vous m'aider? merci

  2. #2
    Membre Expert
    Avatar de Maljuna Kris
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2005
    Messages
    2 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 613
    Par défaut
    Saluton,
    Avec LIKE il faut utiliser les caractères jokers universel : '%' ou positionnel : '_' pour construire le masque.
    Dans ton cas ce sera LIKE '%$mot_recherche%'
    Kie lumo eksistas ankaŭ ombro troviĝas. L.L. Zamenhof
    articles : Comment émuler un tableau croisé [quasi] dynamique
    et : Une énigme mathématique résolue avec MySQL
    recommande l'utilisation de PDO (PHP5 Data Objects)

  3. #3
    Membre éclairé
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2002
    Messages
    329
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Vosges (Lorraine)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2002
    Messages : 329
    Par défaut
    Merci mais il y a une erreur de syntaxe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $req_recherche= "SELECT id, axe, titre, texte, photo, dimension, date_publication, WEEKDAY(date_publication) AS jour FROM tblarticles WHERE texte LIKE CONCAT('%',$mot_recherche,'%')";
    Peut être de guillement sur le mot concaténer, non?

  4. #4
    Membre éclairé
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2002
    Messages
    329
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Vosges (Lorraine)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2002
    Messages : 329
    Par défaut
    En effet, il y avait un souci de guillemets
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    	$req_recherche= "SELECT id, axe, titre, texte, photo, dimension, date_publication, WEEKDAY(date_publication) AS jour FROM tblarticles WHERE texte LIKE CONCAT('%','".$mot_recherche."','%')";
    Je te remercie Maljuna kris

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

Discussions similaires

  1. Tester la nature des champs blob
    Par o_live dans le forum Débuter
    Réponses: 1
    Dernier message: 07/08/2009, 17h41
  2. Lier des tables et nature des champs
    Par Maludi dans le forum Access
    Réponses: 3
    Dernier message: 26/07/2006, 15h52
  3. Recherche d'un mot avec LIKE sur plusieurs champs
    Par reynhart dans le forum Langage SQL
    Réponses: 16
    Dernier message: 26/11/2004, 17h41
  4. LIKE et les champs vide
    Par XioN dans le forum Bases de données
    Réponses: 4
    Dernier message: 09/08/2004, 16h24
  5. Que privilégier : %like% dans champs texte, ou plain text ?
    Par Dimitri01 dans le forum Langage SQL
    Réponses: 4
    Dernier message: 31/01/2004, 11h45

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