Да, конечно, вы можете, но с большим количеством разных наборов результатов загрузка объема данных в session_start может стать громоздкой.Кроме того, один и тот же поиск может быть выполнен более чем одним пользователем, что приведет к дублированию (трудоемкому) поиску / большим сессиям (каждая загрузка страницы занимает больше времени) / большему объему памяти.
Если данные достаточно защищены от изменениячтобы сохранить в сеансе, посмотрите на кэши, такие как APC или Memcached, чтобы сохранить результат со значимым ключом.Таким образом, нагрузка снимается с базы данных, и поиски могут быть разделены между пользователями.
Если у вас есть фиксированное количество элементов для разбивки на страницы, вы можете даже рассмотреть возможность сохранения различных «страниц» с префиксом или постфиксом в ключе, поэтому вам не нужно выбирать подмножество результатакаждый раз (т. е. хранить с ключом, таким как 'search: foo = bar | 1' / 'search: foo = bar | 2' и т. д.)