Seite 1 von 1

SQL-Abfrage

Verfasst: 11.08.2007 14:26
von Slytherin
Guten Tag,
ich habe ein kleines Problem mit einer SQL-Abfrage.
Meine Frage ist: (Wie) kann man nach $wert in der SQL-Abfrage suchen?

Bsp:

$wert = "[blub] [bib]";

$sql = SELECT *
FROM table
WHERE zeile LIKE '$wert'

Jetzt soll alles kommen, wo die Zeile zB mit "[blub]" oder "[bib]" gefüllt ist.

Ist das so technisch gesehen überhaupt realisierbar? Mir sind nur Funktionen wie % bekannt, die man als Platzhalter benutzt ..

Grüsse!

Verfasst: 11.08.2007 15:11
von Pyramide

Verfasst: 13.08.2007 09:24
von madosch
$wert = "[blub] [bib]";

$sql = SELECT *
FROM table
WHERE zeile LIKE '$wert'

Jetzt soll alles kommen, wo die Zeile zB mit "[blub]" oder "[bib]" gefüllt ist.
Wenn du die Zeilen mit [blub] oder [bib] auslesen willst, dann muss auch das OR in der Abfrage stehen. Wenn dort "LIKE '$wert' steht, dann sucht SQL nach dem genauen Ausdruck und gibt die Zeilen zurück, in denen "[blub] [bib]" vorhanden ist.

Also: Den String $wert in Teilstrings aufteilen und nach die einzelnen Strings in die Abfrage einbauen

Re: SQL-Abfrage

Verfasst: 13.08.2007 09:36
von Olli Oberhausen
Oder du nutzt den Mysql Regexp....

Code: Alles auswählen

$wert = "blub|bib";

$sql = "SELECT *
FROM table
WHERE zeile REGEXP '[[:<:]](".$wert.")[[:>:]]'";
Könnte funktionieren, muss aber nicht :D

Olli

Verfasst: 13.08.2007 12:22
von killerbees19
Schau dir mal folgendes Tool von Pyramide an, ist recht praktisch: SearchToSQL ;-)


MfG Christian