Всё дело в том, для кого и для чего всё это делается. Например всем известная программа phpMyAdmin разрешает замелдованным юзерам практически всё, что база данных разрешает.
Если твоя программа не для доверенных юзеров, а для всего мира, то тогда тебе безусловно надо заботится о том, что бы тебе не чего не взломали в базе данных и не вышли на доверенную информацию посредством инъекции. В таких случаях нужно ограничивать запросы до параметров, проверять эти параметры и только после проверки формировать sql интерн в бакенде.
Другими словами надо исходить из того, на сколько для тебя опасен пользователь в его роли, а когда это ясно, то можно давать ему права на произведение определённых функций, вплоть до создания и стирания таблиц.
Ну а в общем если исходить из концепта, что в начале всё запрещается, а потом только даются права, то посылы sql в случае ограниченных прав, могут прицинить нерешаемые проблемы, которые всё программу сделают безсмысленной.
_____________
↓↓↓↓↓↓↓↓↓↓ответ может быть здесьили в mysql_error();