Не знаю, что вы там делаете, но вы просто звоните $this->session->userdata('user_role')
, и КИ автоматически выбирает, как получить это значение. Если вы установили (и я думаю, что вы это сделали) использование базы данных, запрос будет выполнен автоматически.
Я не понимаю, как вы на самом деле сохранили переменную сеанса, если вы сами выполняете json_encoded () или имеете в виду кодировку, выполняемую CI.
В последнем вы просто:
if($this->session->userdata('user_role') == 'admin')
{
// do stuff
}
В противном случае, $role = json_decode($this->session->userdata('user_role'));
и проверка массива, но я не могу вам здесь особо помочь, поскольку вы не предоставили четкую информацию