Предупреждающее сообщение Недопустимый тип смещения от функции Где Mysql php

0

Я получаю эту ошибку в верхней части окна (даже если представление правильно загружается с данными, как ожидалось)

Возникла ошибка PHP

Серьезность: Предупреждение: Тип недопустимого смещения Имя файла: database/DB_query_builder.php Backtrace:

Файл: C:\wamp64\www\purchase_v_alpha1\application\models\Notifications.php Линия: 32 Функция: где

Моя модель выглядит,

public function user_alert ()
    {
        $session_data = $this->session->userdata['logged_in'];
        $role = $session_data['role'];
        $dept = $session_data['dept'];

        $data_user = array(
            'role' => $role,
            'dept' => $dept
        );

        $role = $data_user['role']; 
        $this->db->from('notification');
        $this->db->select('pr_id,item_name,dept_division');
        $this->db->where($role, 0); 

        $query = $this->db->get();
        return $query -> result_array();
    }

Можете ли вы, ребята, помочь мне с этим? что-то не так с использованием метода "where"?

Теги:
codeigniter
offset

3 ответа

0

здесь что-то не так. $this->db->where($role, 0); $role $this->db->where($role, 0); $role имеют некоторые данные, приведенные здесь $role = $data_user['role'] Но в where where нам нужно $role = $data_user['role'] имя поля. Но вы пытаетесь передать значения роли в where clause. Сделайте это примерно так.

$this->db->where('role', 0) 

Введите имя поля вместо 'role' вы хотите проверить.

0

Вы используете where метод неправильно.

Параметры функции следующие: $this->db->where('columnName', 'value');

Поэтому вы должны использовать его как: $this->db->where('role', $role); Если вы хотите искать уведомления, где role равна 0, вы должны использовать $this->db->where('role', 0);

Источник: https://www.codeigniter.com/user_guide/database/query_builder.html#looking-for-specific-data

0

Метод userdata() возвращает NULL, если элемент, к которому вы пытаетесь получить доступ, не существует. Может ли так быть? Может быть, вы должны объявить чек isnull.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню