Hi!
if($kapa_anzahl != "") { $select_anzahl[] = "kapazitaet = " . mysql_real_escape_string($kapa_anzahl); }
if($preis_anzahl != "") { $select_anzahl[] = "preis <= " . mysql_real_escape_string($preis_anzahl); }
Bei diesen beiden Zeilen hast du eine Sicherheitslücke, weil du den Kontextwechsel nicht richtig berücksichtigst. Ich hab da grad einen Artikel in Vorbereitung, der auch diese Problematik berücksichtigt: siehe "Zahlen im (My)SQL-Statement" im Abschnitt Falsch erkannte / behandelte Kontextwechsel (Vorabversion).
Lo!