Я думаю, что не удается связаться с базой данных, и я не знаю почему.Codeigniter 3 Неустранимая ошибка: вызов в базу данных функции участника() по нуле
Я просмотрел stackoverflow и нашел следующие вопросы: here, и это не помогает мне в решении моей проблемы.
Я прочитал документацию от Codeigniter 3: here и воспользовался опцией Ручное подключение.
Мой класс от моего контроллера приложения выглядит так:
class home extends CI_Controller {
/**
* Class constructor
* Load database lib
*/
public function __construct()
{
$this->load->database();
}
/**
* Index Page for this controller.
*
* Maps to the following URL
* http://example.com/home.php/welcome
* - or -
* http://example.com/home.php/welcome/index
*/
public function index()
{
$query = $this->db->get('users');
foreach ($query->result() as $row)
{
var_dump($row->fullName); //testing purpose
}
//$this->load->view('home', $data);
}
В базе данных конфигурации из моего приложения выглядит так:
$active_group = 'default';
$query_builder = TRUE;
$db['default'] = array(
'dsn' => '',
'hostname' => 'localhost',
'username' => 'user',
'password' => 'password',
'database' => 'tasks',
'dbdriver' => 'mysqli',
'dbprefix' => '',
'pconnect' => FALSE,
'db_debug' => (ENVIRONMENT !== 'production'),
'cache_on' => FALSE,
'cachedir' => '',
'char_set' => 'utf8',
'dbcollat' => 'utf8_general_ci',
'swap_pre' => '',
'encrypt' => FALSE,
'compress' => FALSE,
'stricton' => FALSE,
'failover' => array(),
'save_queries' => FALSE
);
И когда я достигаю http://localhost/home.php/welcome
Я получаю это ошибка:
Fatal error: Call to a member function database() on null in \www\task\application\controllers\home.php on line 12
Я пробовал var_dump ($ this-> load), и это пустой, и отсюда мое предположение, что он не может установить соединение с базой данных.
oO, да, я только что нашел это после вашего руководства. ** Вместо того, чтобы писать операции с базой данных прямо в контроллере, запросы должны быть помещены в модель, поэтому их можно будет повторно использовать позже. ** Спасибо. – Starlays
@Starlays Добро пожаловать. Да, обычно запросы должны быть помещены в модель при использовании архитектуры MVC. – MonkeyZeus