bert: select like einzelnes wort

Beitrag lesen

Wenn ich die Zeile beispielsweise um REGEXP '[[:<:]]".$q."' erweitere ändert sich an der Ausgabe überhaupt nichts.
bedeutet?
a) SELECT DISTINCT * FROM table WHERE desc LIKE '% even%' REGEXP '[[:<:]]even';
b) SELECT DISTINCT * FROM table WHERE desc LIKE 'even' REGEXP '[[:<:]]even';
c) SELECT DISTINCT * FROM table WHERE desc LIKE REGEXP '[[:<:]]even';
d) SELECT DISTINCT * FROM table WHERE desc REGEXP '[[:<:]]even';
Ich hoffe du siehst wo ich hinauswill?

Naja, "erweitert" eben. Also angehängt. Nichts gelöscht. In diesem Fall a)

Aber du hast es geschafft den richtigen RegExp zusammen zu bauen und das hab ich für den schweren Teil gehalten. Ich kannte die Möglichkeit bis eben auch nicht, jedoch sollte der Einbau in den SQL String ein leichtes sein. Bei mir geht es zuministens.

Erstmal Danke :-)

Also:
imho ersetzt REGEXP einfach nur LIKE, also gibt das Suchdesign an. Das hat aber ja für mich auch alles Wunderbar mit LIKE funktioniert, und die beiden Suchen durch eine zu ersetzen war nicht mein Ziel (auch wenns natürlich toll ist). Mein Problem besteht aber weiterhin:
Er findet zwar die richtigen Zellen in der DB, aber spuckt immernoch die KOMPLETTE Zelle aus. Soll er aber nicht.

Wenn in der Zelle "ich stehe hier" steht und ich nach "steh" suche, dann kommt als Ergebnis "ich stehe hier", unabhängig davon, ob ich das jetzt mit REGEXP oder mit mit LIKE mache.
ich will aber bei der Suche nach "steh" als Ergebnis "stehe" bekommen.

Seh ich das jetzt wenigstens richtig, dass für dieses Anliegen REGEXP unwesentlich ist (da die Suche der richtigen Zelle ja schon mit LIKE funktioniert hat)?

Und sehe ich weiterhin richtig, dass (wie bereits zu Beginn vermutet) mein Anliegen nicht durch die Erweiterung des SQL-Befehls gelöst wird, sondern mit irgendeiner Funktion mit PHP, nachdem die Zelle der DB ausgelesen wurde?

Gruß
Bert