тут кругом какая-то чушь.
во-первых, тут в принципе не может быть ошибки Call to a member function fetch_all() on null, потому что query никогда не возвращает null.
Ну очень смешно. Вся прога просто утыкана SQL инъекциями, но мы еще что-то лепечем про продажу и защиту.
Какой смысл покупать откровенный говнокод?
Какой смысл защищать решето?
Если вы осилите добавить к своему "ужасно сложному" вопросу конкретный пример поиска, с которым у вас возникли проблемы (а не какой-то бессмысленный кусок кода), то вам даже напишут, как их решить.
ну и зачем тут foreach тогда? какой смысл перебирать массив из одного элемента?
В общем, этот запрос должен выполняться максимум за 0.01 секунды. Если медленнее, то виноват хостинг.
Если запрос быстрый, то надо смотреть, где тормозит.
Да вот же они, как на ладони: foreach тут какой-то бессмысленный, постоянно перезаписывает одни и те же переменные. Сколько строк возвращает этот запрос?
Ну и вообще кривые руки могут быть во всем. Например нет индекса по полю coin.