Codeigniter : Cant load database in my library.

2019-06-27 04:05发布

问题:

When I try to call

$this->load->database();

yields the following error `"Call to a member function database() on a non-object"
Autoloading the database doesnt help too...
when I try to autoload it.
all calls to database like

$this->db->get('people');

it says get method is undefined...
I have no clue what and where to start..
\ anyone ?

回答1:

Go to autoload.php in application/config/autoload.php and add this

$autoload['libraries'] = array('database'); // add database in array

Make sure your connection settings are fine in application/config/database.php

Than in the library do it like this

Class MyLib
{
    function getPeople(){
        $CI =   &get_instance();
        $query  =   $CI->db->get('people');
        return $query->result();
    }
}


回答2:

Use extends CI_Model if not working try extends Model

class User_model extends CI_Model { 

     public function __construct() 
     {
           parent::__construct(); 
           $this->load->database();
     }
}


回答3:

You can load the database by two methods:

Method 1:Automatic Connecting

$autoload['libraries']=array('database');

Method 2: Manual Connecting

$this->load>database();

i hope above methods clear your confusion....