Cambia
$this->load->database();
a
$this->load->library('database');
database non è un metodo diretto. È una libreria in codeigniter e devi caricarla come libreria.
Puoi anche caricare automaticamente database
libreria in autoload.php
.
AGGIORNAMENTO:
Stai usando lo stesso nome per la tua classe e metodo. In PHP4, un metodo che ha lo stesso nome del nome della classe è stato trattato come costruttore, ma se stai usando codeigniter 2+, devi usare il costruttore PHP5 che è
function __construct()
{
parent::__construct();
/*Additional code which you want to run automatically in every function call */
}
Non puoi assegnare a un metodo lo stesso nome del nome della classe in Codeigniter 2+. Cambia il metodo con qualsiasi altra cosa. Puoi nominare il metodo index
se vuoi che venga caricato per impostazione predefinita.
Questo dovrebbe risolvere il tuo problema.