ALLES, was extern herkommt, kann gefaked werden.
Und es hat nicht nur etwas mit Sicherheit zu tun: du läufst auch große Gefahr, invalide SQL Queries aufzubauen, wenn die Daten etwa Single Quotes oder gar Leerzeichen enthalten. Es ist einfach semantisch inkorrekt in einen SQL Query String Daten zu interpolieren. Befehle (das Query) und Daten achtlos zu mischen sollte man normalerweise nie tun. Das führt gerade dazu, dass Daten als Befehle missbraucht werden können. Ein Beispiel von Betriebssystemen, wie die Separation unterstützt wird: In Betriebssystemen werden Seiten von Prozessen (Speicherabschnitte vereinfacht gesagt), die Daten enthalten, auch so geflagged, dass sie *nicht* ausgeführt werden können. Andersherum werden Seiten, die ausfühbaren Code enthalten, auch als read-only geflagged.
Übrigens subsumiert $_REQUEST auch $_GET, von daher stimmt (deine sowieso fehlerbehaftete) Argumentation leider auch nicht.
PS: Damit deine originale Frage nicht untergeht, habe ich mal die Beiträge in ein neues Thema verschoben.