Moin!
Warum ich das machen will ist ganz einfach. Wenn eine externe Klasse einen unerlaubten Zugriff zulässt, durch SQL-Injection oder XSS, dann möchte ich aus Sicherheitsgründen den Zugriff soweit eingrenzen, dass sie nur die Tabellen aufrufen darf, die für einen Zugriff "registriert" wurden.
Dann benötigst du PHP-seitig einen SQL-Parser, der die im Statement benutzten Tabellen erkennt und mit deiner Vorgabe vergleichen kann - und der ist dann hoffentlich gegen SQL-Injection nicht anfällig.
Sprich: Dein Vorhaben ist so, wie du es aufgefasst hast, unsinnig. Wenn du Angst hast, dass man dir in SQL was einschmuggeln kann, dann nutze eine Bibliothek, die dir das SQL selbst aus den Daten und Tabelleninfos zusammensetzt. Sowas gibts und nennt sich ORM. Da greifst du dann mit einem objektorientierten Interface auf deine Daten zu, und musst dich um SQL nicht mehr kümmern. Man sollte annehmen, dass SQL-Injections dadurch unmöglich werden, weil du ja gar kein SQL mehr benutzt, sondern benutzen lässt.
- Sven Rautenberg