Jag har inga problem med att använda samma (eller mycket liknande) namn i URL:en och databasen — visst, du kanske "exponerar" implementeringsdetaljer, men om du väljer radikalt olika namn i URL:en och DB:n, re väljer förmodligen dåliga namn. Jag är också ett fan av konsekvent namngivning — kommunikation med kodare/testare/kunder blir mycket svårare om alla kallar allting något annorlunda.
Det som stör mig är att du låter användaren köra godtyckliga frågor på din databas. http://.../index.php?table=users&user_id=1
, säg? Eller http://.../index.php?table=users&password=password
(inte för att du ska lagra lösenord i klartext)? Eller http://.../index.php?table=users&age=11
?
Om användaren som är ansluten till DB har samma behörigheter som användaren som sitter framför webbläsaren kan det vara vettigt. I allmänhet kommer det inte att vara fallet, så du behöver ett lager som vet vad användaren är och inte får se, och det lagret är mycket lättare att skriva korrekt genom att vitlista.
(Om du har fastnat tillräckligt med logik i lagrade procedurer kan det fungera, men då kommer dina lagrade procedurer att hårdkoda kolumnnamn...)