Я бы рекомендовал альтернативный синтаксис для вашего foreach в представлении ...
Похоже, у вас должны быть некоторые синтаксические ошибки, как у вас.
<?php foreach ($query->result_array() as $row): ?>
<tr>
<td><?php echo $row['usrID'];?></td>
<td><?php echo $row['usrName'];?></td>
<td><?php echo $row['usrPassword'];?></td>
</tr>
<?php endforeach; ?>
РЕДАКТИРОВАТЬ - чтобы указать на проблемы с синтаксисом.
<?php foreach ($query->result_array() as $row)
{ ;?> //<---- semicolon?
<tr>
<td><?php echo $row['usrID'];?></td>
<td><?php echo $row['usrName'];?></td>
<td><?php echo $row['usrPassword'];?></td>
</tr>
<?php } ?>
<?php endforeach; ?> //<--- no need for this when using regular foreach
Эта первая точка с запятой будет выглядеть как запись foreach, подобного этой ...
foreach ($array as $ele) { ; //<--this would throw an error just like it should above.
//do stuff
}
Мнение, помимо вопроса вопроса
Вы должны обрабатывать свои данные в контроллере и просто отправлять массив данных для отображения в представлении, а не весь объект запроса.
, так что ...
Контроллер
$query = $this->db->query('SELECT * FROM users');
$data['users'] = $query->result_array();
$this->load->view('users_view',$data);