Cambiar
$this->load->database();
a
$this->load->library('database');
La base de datos no es un método directo. Es una biblioteca en codeigniter y tienes que cargarla como biblioteca.
También puede cargar automáticamente database
biblioteca en autoload.php
.
ACTUALIZACIÓN:
Está utilizando el mismo nombre para su clase y método. En PHP4, un método que tiene el mismo nombre que el nombre de la clase se trató como constructor, pero si está usando codeigniter 2+, debe usar el constructor de PHP5 que es
function __construct()
{
parent::__construct();
/*Additional code which you want to run automatically in every function call */
}
No puede dar a un método el mismo nombre que el nombre de la clase en Codeigniter 2+. Cambia el método a cualquier otra cosa. Puede nombrar el método index
si quieres que se cargue por defecto.
Esto debería resolver tu problema.