Код, который вы опубликовали, будет находиться в бесконечном цикле, когда когда-либо будет использоваться идентификатор пользователя при вызове совпадений функции в базе данных.
Чтобы разорвать рекурсивный цикл, должно быть условие, которое выходит из цикла после конечного числа прогонов.
Чтобы предоставить вам хорошее решение, укажите, чего бы вы хотели достичь с помощью своего кода.