Ошибка означает, что ваш запрос не выполнен.Не стоит предполагать, что это удастся.Способ сделать это - проверить результат ваших звонков, прежде чем использовать какие-либо функции, которые генерируют результаты запроса .
. Лучше всего предположить, что одно из указанных вами значений негодные к употреблению.Так что внимательно проверяйте ваши входные значения.Убедитесь, что они есть и что вы ожидаете.
Хотя этот код, вероятно, не исправит результат, по крайней мере, вы поймете неудачный запрос и получите более значимую информацию о том, что было сделано.
<?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()
возвращает, прежде чем использовать какие-либо функции результатов запроса.