Suchabfrageproblem mit LIKE

CarpeNoctem

Grünschnabel
Hey Leute

Habe einen mega Knopf. Folgender Query hat einwandfrei funktioniert, bis ich die letzten 4 Abfrage (einsatz1 - 4) eingefügt habe.

Wenn ich für $EINSATZ nichts eingebe funktionierts, sobald aber eine 1 oder eine 2 usw. für $EINSATZ steht, klappts nicht mehr.

Hier mal der Query:

PHP:
mysql_query("select * from community WHERE name LIKE '%$NAME%' AND vorname LIKE '%$VORNAME%' AND ort LIKE '%$ORT%' AND geschlecht LIKE '%$GESCHLECHT%' AND region LIKE '%$REGION%' AND jahrgang LIKE '%$JAHRGANG%' AND einsatzeins LIKE '%$EINSATZ%' AND einsatzzwei LIKE '%$EINSATZ%' AND einsatzdrei LIKE '%$EINSATZ%' AND einsatzvier LIKE '%$EINSATZ%'") or die("Fehler: ".mysql_query());

Zur Tabelle:
Code:
`einsatzeins` char(3) NOT NULL default '',
  `einsatzzwei` char(3) NOT NULL default '',
  `einsatzdrei` char(3) NOT NULL default '',
  `einsatzvier` char(3) NOT NULL default '',

In diesen Spalten stehen Zahlen. Habe es auch schon mit INT versucht, aber dann steht ja 0 falls nichts drin steht.

Bin echt dankbar um Hilfe.
 
Hallo,

ich sehe nichts wirklich verdächtiges. Deine LIKE-Statements scheinen in Ordnung zu sein.
Was ich aber denke der Fehler sein könnte:

Du prüfst alle 4 Spalten mit einem AND ab.
Ich denke aber du willst nur das Vorhandensein eines Kriteriums testen, also anstelle 4 AND-Bedingungen nur eine und die 4 Felder mit OR verknüpfen, oder?

Falls es so ist, sollte der letzte Teil der Abfrage so lauten:
SQL:
...
AND (einsatzeins LIKE '%$EINSATZ%' OR einsatzzwei LIKE '%$EINSATZ%' OR einsatzdrei LIKE '%$EINSATZ%' OR einsatzvier LIKE '%$EINSATZ%')

Eventuell reicht das ja schon,

Markus
 
Zurück