DB Suche optimieren

Das Problem ist folgendes:
Jedesmal wenn ich auf eine andere Seite als 1 hüpfe führt er den Query nicht aus, deshalb hab ich versucht alle Parameter über die URL weiterzugeben und pro Seite neuzuladend
 
Du gibst eigentlich die gleichen Parameter mal mit GET mal mit POST an den Request. Überleg dir doch mal primär ein sauberes Schema für den Request und welche Fälle wie gehandhabt werden sollen bevor du beginnst zu programmieren.

Beispiel:
Parameter: page_id
Methode: GET
Bedeutung: zu ladende Seite
Mögliche Werte: Zahlen
Optional: nein
Datenbankrelevant: Vermutlich nicht

Parameter: suche
Methode: GET
Bedeutung: zu suchender String
Mögliche Werte: Alle strings
Optional: Ja
Standardwert: Leerer String
Datenbankrelevant: Vermutlich schon

Parameter: cat
Methode: GET
Bedeutung: Zu filternde Kategorien
Mögliche Werte: kids, wmodels, mmodels, ...
Optional: Ja
Standartwert: Alle Kategorien (oder keine Kategorie)
Datenbankrelevant: Indirekt

usw

Wenn du dir das fertig überlegt hast merkst, du dass du weder POST Parameter benötigst, noch dass du Teile deiner SQL Query an den User schicken musst. Durch die vordefinierten Werte für cat kannst du diese theoretisch durch einen switch jagen und damit deine Query zusammenbauen ohne, dass du den Parameter direkt unbearbeitet in der Query verwendest. Damit umgehst du deine horrenden Sicherheitslecks schon mal teilweise.
 
Zurück