# Mysql Abfrage WHERE MATCH `` AGAINST ('') klapt nicht



## son gohan (19. Dezember 2006)

Hallo Leute, meine Abfrage:


```
$aa = mysql_query("SELECT `t` FROM `a` WHERE MATCH `t` AGAINST ('haut')"); echo mysql_error();
    $add = mysql_num_rows($aa);
    echo $add;
```

ergibt immer 0 obwohl ich extra Testweise in die Spalte der Tabelle haut geschrieben habe, die komplette Struktur der Tabelle sieht so aus:

```
-- 
-- Tabellenstruktur für Tabelle `a`
-- 
CREATE TABLE `a` (
  `t` varchar(250) collate latin1_general_ci NOT NULL default '',
  FULLTEXT KEY `t` (`t`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;

-- 
-- Daten für Tabelle `a`
-- 
INSERT INTO `a` VALUES ('haut haut');
INSERT INTO `a` VALUES ('haut haut');
```

Also ich hab auch kein Fulltext index vergessen zu vergeben damit die Funktion Match Against überhaupt klapt, warum geht es trotzdem nicht?


----------



## son gohan (20. Dezember 2006)

Also ich finde einfach kein Fehler in dem ach so kurzem Script, aber es funktioniert nicht, dass nervt richtig.


----------



## zeja (21. Dezember 2006)

Geht es mit:


```
SELECT `t` 
FROM `a` 
WHERE MATCH `t` AGAINST ('haut*' IN BOOLEAN MODE)
```

? So klappte es bei mir eben (dann auch ohne FULLTEXT Index).


----------



## son gohan (21. Dezember 2006)

Hi, danke für die Hilfe!!

Es klapt so wie du es geschrieben hast, aber warum hat es nie auf der anderen Schreibweise geklapt, da war doch nichts falsch dran, wirklich zum verrückt werden sowas.

Mit  IN BOOLEAN MODE brauch man kein FULLTEXT-Index, aber ist die Suche so nicht auch viel langsammer, so steht es zumindest im Mysql Handbuch dazu?


----------

