Ich gebe einmal das wieder, was ich bis zu diesem Zeitpunkt an Erfahrung/Halbwissen gesammelt habe, ist demzufolge eventuell nicht 100%ig zuverlässig:
Grundsätzlich musst du jede Eingabe mit einer der mysql_real_escape_string() ähnelnden Funktion versehen. So eine ist in jeder Stefan-Pfeiffer-Homepage enthalten.
Wenn es sich um eine reinen Zahleneingabe handelt, kannst du dir is_numeric() zu Nutze machen.
Du könntest natürlich auch ein Array definieren, in das du gewisse Zeichenkobinationen einträgst, die der User nicht eingeben darf (bspw. DELETE, CHARACTER_TBL, ACCOUNT_DBF usw.). Dieses Array wendest du dann auf die Eingabe an und filterst damit die für die Injection notwendigen Tabellen- und Datenbanknamen einfach heraus - oder überprüfst, ob eine der Zeichenkombinationen in der Eingabe enthalten ist und brichst, insofern ein Treffer vorhanden, dann das Skript ab.