1. Один php-класс - это одна роль системы для работы с базой.
2. При инициализации класс получает свой ACL: все таблицы, поля таблиц, с которыми он может работать и с какими доступами к каждому из этих объектов.
3. Запрос пишу в любом инструменте работы с базой данных и тестирую (query).
4. Копирую и заменяю нужные мне части на подстановочные переменные:
$sql = 'SELECT * FROM [user] WHERE id=[$id:numeric] OR user=[$id:string] LIMIT 1';
5. После прогонки через функцию проверки переменных, доступа, экранирования и составления реального запроса к базе, происходит его исполнение.