#php #mysql #codeigniter
#php #mysql #codeigniter
Вопрос:
Я пытаюсь отобразить данные из базы данных. Он отображает эту ошибку
<p>Severity: Notice</p>
<p>Message: Trying to get property of non-object</p>
<p>Filename: controllers/schedule.php</p>
<p>Line Number: 57</p>
<p>Severity: Notice</p>
<p>Message: Trying to get property of non-object</p>
<p>Filename: controllers/schedule.php</p>
<p>Line Number: 58</p>
вот мой код в контроллере, который, этот код связан с этой проблемой
$data['rows'] = $this->Model_scheduleSave->save_schedule($data);
$this->load->view('home_view',$data);
вот мое мнение
if($rows) {
//var_dump($rows);
foreach(rows as $r) :
"<div>". $r->client_url ."</div>";
"<div>". $r->admin_url ."</div>";
endforeach;
}
вот моя модель
public function save_schedule($data) {
$query = "INSERT INTO schedule VALUES('',?,?,?,?,?,?,?)";
$result = $this->db->query($query,$data);
if($result) {
$get_urls = "SELECT client_url,admin_url FROM schedule ORDER BY id DESC LIMIT 1";
$results = $this->db->query($get_urls);
if($results) {
foreach($results->result() as $rows) {
$data[] = $rows;
}
}
return $data;
} else {
return false;
}
}
Где я допускаю ошибку?
Комментарии:
1. Что такое определение (код)
Model_scheduleSave->save_schedule()
? Не зная возвращаемого значения, трудно сказать.2. Я отредактировал свой пост выше и добавил модель. Я не использую здесь функции базы данных, специфичные для codeigniter.
Ответ №1:
В случае, если ваш запрос к базе данных не возвращает результата, функция вернет параметры, переданные функции ( $data
) . Это может вызвать вашу ошибку.
Еще одно замечание: не используйте повторно имена переменных. Вы используете $data
для передачи параметров вашей функции в контроллере, а затем присваиваете результат $data['rows']
. Вы должны использовать две переменные, одну для переменных представления и одну для параметра функции.