SQL-Injection vermeidest du nicht dadurch, dass du in $_GET global nachguckst, ob da nur Zahlen drinstehen, sondern indem du Benutzerdaten passend durch die zugehörige Escapingfunktion schickst. mysql_real_escape_string() wäre da der Klassiker. Ansonsten steckt nämlich die Injection dann in deinen Ausnahmen wie $_GET['suchbegriff'] drin.
Die entsprechenden String Funktionen muss ich mir noch anschauen, aber schonmal danke für den Hinweis. Für $_GET['suchbegriff'] hätte ich auch Einschränkungen festgelegt, aber (evtl. zusätzlich oder auch nur, muss ich mich noch n bisle einlesen) die entsprechenden Escapingfunktionen scheinen mir da die bessere Wahl, kann man so doch die DB besser durchsuchen.
Mitlesen bildet!
Ich bin dabei :-)