Просто проверь, что таблица с таким именем - существует. А запрос в INFORMATION_SCHEMA.TABLES на существование таблицы распрекрасно параметризуется.
SELECT * FROM `users` WHERE `created_at` > '2023-02-02 13:05:46' ORDER BY `created_at` ASC LIMIT 1
UNION ALL
SELECT * FROM `users` WHERE `created_at` < '2023-02-02 13:05:46' ORDER BY `created_at` DESC LIMIT 1
Тут задумка в том, чтобы вынести в select "виртуальное" поле, которому дать значение в зависимости от условия...
Далее просто добавляем это поле в ORDER BY...
На чистом SQL же знаете какой запрос должен получиться?