Как решить это сообщение об ошибке CodeIgniter?«Примечание: попытка получить свойство необъекта в CodeIgniter» - PullRequest
0 голосов
/ 30 сентября 2018

Я тестирую созданное мною приложение на предмет возможных ошибок и исправляю в нем некоторые дыры в безопасности.Мне пришло в голову проверить, существует ли база данных и таблица приложения, и если он это сделает, он запускает код, а если таблиц не существует, он выдаст предупреждение.Однако всякий раз, когда я тестирую функцию, я получаю сообщение об ошибке: Попытка получить свойство 'имя_проекта' необъекта. Вот код в моей модели, с которым я тестирую, если таблица истолбец существует:

public function get_project($id){
            if ($this->db->field_exists('id','projects') == FALSE) {

                $this->db->where('id', $id);

                $query = $this->db->get('projects');

                    if ($query->num_rows() > 0) {
                        return $query->row();   
                    }return false;
            }else{
                echo "Table and column does not exist!";
            }
        }

Как видите, строка, в которой я проверяю, существует ли поле, где значение равно FALSE , чтобы я мог отобразить предупреждение об ошибке в еще заявление.Однако всякий раз, когда я делаю это, я получаю сообщение об ошибке Попытка получить свойство 'имя_проекта' не-объекта в моих представлениях.Вот код на мой взгляд:

    <h3>Project Name:<?php echo $project_data->project_name; ?></h3>
    <h3>Date Created:<?php echo $project_data->date_created; ?><h3>
    <h3>Description:</h3>
    <p class='projects-description'>
        <?php echo $project_data->project_body; ?>
    </p>

1 Ответ

0 голосов
/ 30 сентября 2018

у вас неправильное тестирование для поля, если оно существует или нет,

измените эту строку с:

if ($this->db->field_exists('id','projects') == FALSE) {

на

if ($this->db->field_exists('id','projects') != FALSE) {

затемвам будет хорошо идти!

Редактировать, окружить код выше

if ($this->db->table_exists('yourtablename') )
{
  // table exists
}
else
{
  // table does not exist
}
...