codeigniter не будет показывать информацию из базы данных - PullRequest
0 голосов
/ 22 января 2011

Привет всем, у меня проблема, что моя информация не отправляется в мой файл просмотра.

он говорит: Сообщение: неопределенная переменная: queryWall

мой контроллер это

function wallShow() 
 {
  $this->load->model('profil_model');
  $data['queryWall'] = $this->profil_model->wallGet($this->uri->segment(3));


  $data['content'] = 'profil_view';
  $this->load->view('includes/template', $data);
 }

моя модель:

function wallGet($name)
 {
  $this->db->select('profileName', 'wallComment');
  $this->db->where('profileName', $name);
  $queryWall = $this->db->get('profileWall');

  if($queryWall->num_rows() > 0)
  {
   return $queryWall->result();
  } else {
   return false;
  }
 }

и файл моего вида

 <?php 
 if(!isset($queryWall)):
  foreach ($queryWall as $wall):
   echo $wall->wallComment;
  endforeach;
 endif;
 ?>

Ответы [ 2 ]

4 голосов
/ 22 января 2011

Даже если все в порядке, вы продолжите получать эту ошибку, так как вы используете переменную queryWall всякий раз, когда она НЕ определена!

if(!isset($queryWall))

Это должно быть:

if(isset($queryWall))

Но так как вы проходите условную проверку, то я полагаю, что у вас что-то не так с вашей моделью ИЛИ сегментом URI.

3 голосов
/ 23 января 2011

Вы не используете правильный синтаксис для

$this->db->select('profileName', 'wallComment');

Настройте это следующим образом:

$this->db->select('profileName,wallComment');

, затем также включите выходной профилировщик, чтобы убедиться, что ваш запрос корректно записывается классом базы данных. В вашем контроллере включите профилировщик:

$this->output->enable_profiler(true); 

Это может быть вставлено в любое место в функции контроллера.

Я согласен с ifaour в том, чтобы убедиться, что ваше заявление if соответствует вашим ожиданиям.

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