codeigniter: попытка получить свойство для необъекта - PullRequest
0 голосов
/ 19 октября 2018

Важность: Уведомление Сообщение: Попытка получить свойство не-объекта Имя файла: admin / search_result.php Номер строки: 73

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

                          <?php
                            $term_fee = $this->db->get_where('fees' , array(
                              'student_id' => $row['student_code'], 'term' => $running_term,
                              'year' => $running_year ))->row()->fees;
                            echo $term_fee;
                              ?>

Это мое мнение.Нужна помощь

1 Ответ

0 голосов
/ 20 октября 2018

Ошибка означает, что ваш запрос не выполнен.Не стоит предполагать, что это удастся.Способ сделать это - проверить результат ваших звонков, прежде чем использовать какие-либо функции, которые генерируют результаты запроса .

. Лучше всего предположить, что одно из указанных вами значений негодные к употреблению.Так что внимательно проверяйте ваши входные значения.Убедитесь, что они есть и что вы ожидаете.

Хотя этот код, вероятно, не исправит результат, по крайней мере, вы поймете неудачный запрос и получите более значимую информацию о том, что было сделано.

<?php
$query = $this->db->get_where('fees', array(
    'student_id' => $row['student_code'], 
    'term' => $running_term,
    'year' => $running_year )
    );

if(isset($query))
{
    $term_fee = $query->row()->fees;
    echo $term_fee; 
}
else
{
   //do something about the failed query
    echo "Query Failed. Here's what you asked the database to do:<br>";
    echo $this->db->last_query();
}

В случае сбоя функции «get family» происходит следующее: возвращается FALSE, а FALSE не является «объектом» с какими-либо свойствами.К нему, конечно, не прикреплена функция row().Поэтому всегда проверяйте, что get() или get_where() возвращает, прежде чем использовать какие-либо функции результатов запроса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...