Suche mit mehreren Wörtern
am 29.08.2006 16:16:57 von Michaela Hasselmann
Ich habe eine Suche, diese funktionert auch bei einem Wort
Über ein Formular wird das Suchwort eingegeben ($suchwort), dann im
folgenden Script gesucht und ausgegeben.
$sql = "select * from test_beitraegeWHERE inhalt LIKE '%$suchwort%'";
$result = mysql_query($sql) or die ($sql.'
'.mysql_error());
while ($ausgabe = mysql_fetch_object($result))
Nun möchte ich das ganze so erweitern das man auch mal mehr Worte in die
Suche eingeben kann, doch dann funktioniert nichts mehr.
Micha
Re: Suche mit mehreren Wörtern
am 29.08.2006 16:31:43 von Christian Kirsch
Michaela Hasselmann schrieb:
> Ich habe eine Suche, diese funktionert auch bei einem Wort
>
> Über ein Formular wird das Suchwort eingegeben ($suchwort), dann im
> folgenden Script gesucht und ausgegeben.
>
>
> $sql = "select * from test_beitraegeWHERE inhalt LIKE '%$suchwort%'";
Dieses Statement dürfte immer ein Fehlermeldung erzeugen.
> $result = mysql_query($sql) or die ($sql.'
'.mysql_error());
> while ($ausgabe = mysql_fetch_object($result))
>
> Nun möchte ich das ganze so erweitern das man auch mal mehr Worte in die
> Suche eingeben kann, doch dann funktioniert nichts mehr.
PHP ist hier nicht on-topic. Bitte poste nur SQL
Aus verschiedenen Gründen wird allgemein von der Verwendung von
"SELECT *" abgeraten -> google
Wenn man mit LIKE %...% sucht, kann MySQL keine Indizes benutzen, das
schadet also der Performance.
Für Suche nach mehreren Wörtern könnte sich ein Fulltext-Index eignen.
Was "funktioniert nichts mehr" bedeutet, weiß außer Dir niemand. Bitte
schildere, was Du getan hast (SQL-Statement!), was Du erwartet hast
und was passiert ist. Wenn es eine Fehlermeldung gab, poste die (cut &
paste!).