WHERE MATCH ... AGAINST
Benedikt Schmitz
- php
Hallo Leute,
ich habe gerade folgendes Problem: Ich möchte meine Tabelle einfach nur nach einem Suchbegriff durchsuchen, der per GET übergeben wird. Bei der Eingabe von "bro" sollen auch Ergebnisse mit "bros" angezeigt werden, deshalb habe ich IN BOOLEAN MODE angewandt. Leider klappt das alles noch nicht so ganz..
$query = "SELECT text FROM $tabelle WHERE MATCH (text) AGAINST ('+$suchbegriff' IN BOOLEAN MODE)";
$suche = mysql_query($query)OR DIE(mysql_error());
Bei Eingabe von "bro" erfolgt keine Ausgabe, da anscheinend nicht vorhanden, bei "bros" erfolgt eine Ausgabe.
Woran könnte das liegen? Soweit ich alles richtig gelesen habe, sollte BOOLEAN MODE genau dies verhindern.
Mit besten Grüßen,
Benedikt
Tach,
$query = "SELECT text FROM $tabelle WHERE MATCH (text) AGAINST ('+$suchbegriff' IN BOOLEAN MODE)";
$suche = mysql_query($query)OR DIE(mysql_error());
ich hoffe, du hast nicht vergessen $suchbegriff kontextgerecht zu behandeln.
> Bei Eingabe von "bro" erfolgt keine Ausgabe, da anscheinend nicht vorhanden, bei "bros" erfolgt eine Ausgabe.
> Woran könnte das liegen? Soweit ich alles richtig gelesen habe, sollte BOOLEAN MODE genau dies verhindern.
Das liegt am [fehlenden Sternchen](http://dev.mysql.com/doc/refman/5.5/en/fulltext-boolean.html) oder der [definierten Wortlänge](http://dev.mysql.com/doc/refman/5.5/en/server-system-variables.html#sysvar_ft_min_word_len).
mfg
Woodfighter