-
mysql SELECT Syntax
Hallo zusammen,
ich habe folgendes Problem
Dieser Befehl funktionier wunderbar:
SELECT * FROM artikel WHERE bezeichnung LIKE '%$suchwort%' OR beschreibung LIKE '%$suchwort%'
Dieser Befehl hingegen nicht:
SELECT * FROM artikel WHERE bezeichnung LIKE '%$suchwort%' OR beschreibung LIKE '%$suchwort%' OR kategorie LIKE '%suchwort%'
Gibt es es eine alternative Form, so dass ich noch mehr Bedingungen hinzufügen kann?
Ich wäre für jede Hilfe sehr dankbar...Ulf
-
Re: mysql SELECT Syntax
Original geschrieben von RambozoTheClown
H
SELECT * FROM artikel WHERE bezeichnung LIKE '%$suchwort%' OR beschreibung LIKE '%$suchwort%'
SELECT * FROM artikel WHERE bezeichnung LIKE '%$suchwort%' OR beschreibung LIKE '%$suchwort%' OR kategorie LIKE '%suchwort%'
Ich wäre für jede Hilfe sehr dankbar...Ulf
kann es sein, dass du beim dritten suchwort das dollarzeichen
vergessen hast?
cu, stoph.
-
Ich hab beim abtippen einen Fehler gemacht. Es heißt eh nur $suchwort, weil der Befehl aus einem PHP-Skript stammt. Es schein aber ein generelles Problem mit einem zweiten 'OR' zu geben...
-
generelles problem mit OR?? iss mir noch nicht aufgefallen.
versuch mal:
SELECT * FROM artikel WHERE (bezeichnung LIKE '%$suchwort%') OR (beschreibung LIKE '%$suchwort%') OR (kategorie LIKE '%$suchwort%')
vielleicht gehts. ich muss sagen das ich auch schon 4 OR's hatte und es ging.
mfg
-
Hi Rambozo,
also bis auf das vergessene Dollarzeichen seh auch ich kein Problem. Auch gibt es kein Problem mit der Anzahl der Ausdrücke. Ich persönlich mag es aber lieber geklammert, weil ich dann besser beeinflussen kann was er machen soll (beim Taschenrechner genauso).
Vielleicht steht aber in der Variablen was komisches drin, denn ich würde an Deiner Stelle nicht so einfache dies Variable einsetzen, sondern ersteinmal 'verbotene' Zeichen herausfiltern, z.B. mit addslashes().
Wenn es dann immer noch unerklärliche Probleme gibt, hilft mir manchmal die Abfrage im mysqlclient per Hand einzugeben und die Fehlermeldung auszuwerten. mySQL sagt immer die Stelle wo ein Fehler aufgetreten ist, d.h. ab genau dem Zeichen danach wird der Rest der Abfrage als Fehlermeldung zurück gegeben.
Gruß
-= Pingu =-
-
Hey, danke für eure zhalreichen Antworten. Werde eure Vorschläge mal ausprobieren...
-
Funktionier jetzt. Glaube es hat daran gelegen, dass der letzte Vergleich einer von einem INT- mit CHAR-Datentyp war. Kann das sein? Hab den Ausdruck jedenfalls sicherheitshalber auch gleich eingeklammert.
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen