Mudar
$this->load->database();
para
$this->load->library('database');
banco de dados não é um método direto. É uma biblioteca no codeigniter e você deve carregá-la como uma biblioteca.
Você também pode carregar automaticamente o
database
biblioteca em autoload.php
. ATUALIZAÇÃO:
Você está usando o mesmo nome para sua classe e método. No PHP4, um método que tem o mesmo nome que o nome da classe foi tratado como construtor, mas se você estiver usando codeigniter 2+, você deve usar o construtor PHP5 que é
function __construct()
{
parent::__construct();
/*Additional code which you want to run automatically in every function call */
}
Você não pode dar a um método o mesmo nome que o nome da classe no Codeigniter 2+. Altere o método para qualquer outra coisa. Você pode nomear o método
index
se você quiser que ele carregue por padrão. Isso deve resolver seu problema.