Ik heb er geen probleem mee om dezelfde (of zeer vergelijkbare) namen in de URL en de database te gebruiken - je zou natuurlijk implementatiedetails kunnen "onthullen", maar als je radicaal andere namen kiest in de URL en de DB, dan waarschijnlijk kiezen voor slechte namen. Ik ben ook een fan van consistente naamgeving - communicatie met programmeurs/testers/klanten wordt veel moeilijker als iedereen alles iets anders noemt.
Wat me dwarszit, is dat je de gebruiker willekeurige query's op je database laat uitvoeren. http://.../index.php?table=users&user_id=1
, zeggen? Of http://.../index.php?table=users&password=password
(niet dat u wachtwoorden in platte tekst zou moeten opslaan)? Of http://.../index.php?table=users&age=11
?
Als de gebruiker die is verbonden met de database dezelfde machtigingen heeft als de gebruiker die voor de webbrowser zit, kan dit logisch zijn. Over het algemeen zal dat niet het geval zijn, dus je hebt een laag nodig die weet wat de gebruiker wel en niet mag zien, en die laag is een stuk gemakkelijker om correct te schrijven door op de witte lijst te zetten.
(Als je genoeg logica in de opgeslagen procedures hebt gestoken, zou het kunnen werken, maar dan zullen je opgeslagen procedures de kolomnamen hardcoderen...)