и кстати, если просто
Перед:
$userFound = User::find($email, true);
Создать
$userFound = User::ufind($username, true);
то $userFound от емейла затрет значение $userFound от юзера
Вам надо научиться задавать вопросы
никогда не надо описывать код словами.
вместо слов "В обработчике скопировал функцию и поменял переменные" надо писать код.
"помочь" это когда человек делает сам, а часть работы делает другой, тот кто ему помогает
а если другой делает всё, то это называется не помощь, а милостыня.
либо показывайте, как пробовали, либо идите на фриланс, там вам сделают за 100 рублей
вы это серьёзно? емейл проверить можете, а юзернейм - нет? вот настолько тупо заменить одно значение другим?
вы что ли вообще совсем ни одного слова не понимаете в коде функции find, чтобы просто заменить соответствующие значения?
и исключение надо ловить \Throwable, а не mysqli_sql_exception. Нам без разницы, по какой причине не выполнился второй запрос, откатывать надо при любой ошибке
в остальном пример нормальный
но индекс при этом совершенно не обязательно должен быть цифровой
никто не мешает вместо 1,2,3,4 написать price_desc, price_asc,date,rating
ну или отдельно сортировку и отдельно направление