Problème requete SQL match against

Résolu
YannCo Messages postés 3 Date d'inscription vendredi 10 octobre 2003 Statut Membre Dernière intervention 20 décembre 2009 - 22 mai 2007 à 09:44
YannCo Messages postés 3 Date d'inscription vendredi 10 octobre 2003 Statut Membre Dernière intervention 20 décembre 2009 - 22 mai 2007 à 18:29
Salut,

J'ai un soucis avec une requete de type select match against !

Mes champs sont bien FULLTEXT

Si je lance cette requette :
    $sql = "SELECT t_pres
    FROM presentations
    WHERE
    MATCH (t_pres,moteur) AGAINST ('".$_POST['search']."')";

ça ne marche pas, j'ai une erreur sql !

Si je mets qu'un champs après MATCH là ça marche !!!

celle-ci
    $sql = "SELECT t_pres
    FROM presentations
    WHERE
    MATCH (t_pres) AGAINST ('".$_POST['search']."')";

et
    $sql = "SELECT t_pres
    FROM presentations
    WHERE
    MATCH (moteur) AGAINST ('".$_POST['search']."')";

fonctionnent !!!!

Pourtant l'aide précise bien que l'on peut metre plusieurs champs, donc si quelqu'un à une idée !!!

Merci d'avance !

2 réponses

J_G Messages postés 1406 Date d'inscription mercredi 17 août 2005 Statut Membre Dernière intervention 28 août 2007 10
22 mai 2007 à 16:12
Salut,

C'est parceque tu n'as pas créé d'indexe FULLTEXT sur les deux champs (mais deux indexes, un pour chaque champs).

Lance la requête suivante sur ta base de donnée pour créer cet indexe. Tu pourrax ensuite utiliser MATHC(t_pres,moteur)

ALTERTABLE`presentations`ADDFULLTEXT(`t_pres`,`moteur`);

A+
3
YannCo Messages postés 3 Date d'inscription vendredi 10 octobre 2003 Statut Membre Dernière intervention 20 décembre 2009
22 mai 2007 à 18:29
Cool, merci j'ai compris, faut indexer tout les champs qu'on cherche et chercher tout les champs qu'on a indexé !!!!

Sinon erreur !
0
Rejoignez-nous