Ошибка при отображении данных из базы данных mysql с использованием php codeigniter

#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'] . Вы должны использовать две переменные, одну для переменных представления и одну для параметра функции.