Библиотека codeigniter с подключением к базе данных

Я создаю новую настраиваемую библиотеку с подключением к базе данных, но не могу загрузить базу данных

Это моя кастомная библиотека:

class Seo {
    var $CI;
    public function __construct($params = array())
    {
        $this->CI =& get_instance();
        $this->CI->load->helper('url');
        $this->CI->config->item('base_url');
        $this->CI->load->database();


    }
    public function getMetadata($pageid){
     $this->db->select('*');
     $this->db->from('HHCL_PAGES AS A');
     $this->db->join('HHCL_META AS B','A.PAGE_ID = B.PAGE_ID','LEFT');
     $this->db->join('HHCL_META_OG AS C','A.PAGE_ID = C.PAGE_ID','LEFT');
     $this->db->where('A.PAGE_ID',$pageid);
     $data = $this->db->get->result();
     echo"<pre>";print_r($data);exit;
     $this->CI->load->view('home/layouts/header',$data); 
    }
}

Ошибка

 A PHP Error was encountered
    Severity: Notice

    Message: Undefined property: Seo::$db

    Filename: libraries/Seo.php

    Line Number: 30

    Backtrace:

    File: C:\xampp\htdocs\hhcl\application\libraries\Seo.php
    Line: 30
    Function: _error_handler

    File: C:\xampp\htdocs\hhcl\application\controllers\Home.php
    Line: 28
    Function: getMetadata

    File: C:\xampp\htdocs\hhcl\index.php
    Line: 316
    Function: require_once

Я определил эту библиотеку в автозагрузке вместе с базой данных и сеансом, как я могу это преодолеть?

Измените $this->db->select('*'); на $this->CI->db->select('*');

Pradeep 19.07.2018 16:58
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
1
1 264
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Измените $this; на $this->CI;

Должно быть так:

public function getMetadata($pageid)
{
    $this->CI->db->select('*');
    $this->CI->db->from('HHCL_PAGES AS A');
    $this->CI->db->join('HHCL_META AS B','A.PAGE_ID = B.PAGE_ID','LEFT');
    $this->CI->db->join('HHCL_META_OG AS C','A.PAGE_ID = C.PAGE_ID','LEFT');
    $this->CI->db->where('A.PAGE_ID',$pageid);
    $data = $this->CI->db->get()->result();
    echo"<pre>";print_r($data);exit;
    $this->CI->load->view('home/layouts/header',$data); 
}

Вызов функции-члена result () при null я получаю эту ошибку @pradeep

Sairam Duggi 19.07.2018 17:10

получение этого свойства Undefined: CI_DB_mysqli_driver :: $ get и Неустранимая ошибка: вызов функции-члена result () при нулевом значении в C: \ xampp \ htdocs \ hhcl \ application \ libraries \ Seo.php в строке 35 ошибок

Sairam Duggi 19.07.2018 17:14
get должен быть get() см. Мой ответ на это
Pradeep 19.07.2018 17:18

удовольствие мое, счастливого кодирования

Pradeep 19.07.2018 17:21

Другие вопросы по теме