2012-06-15 4 views
1

В других не повторяться, я писал, что getName функции, чтобы сделать работу обязанности для меня: классы запросов к базе данных будут только отправить SQL-запрос:PHP возвращения неопределенного свойства

public function getVolumeServer($id) 
    { 
     $str = "SELECT *FROM site_volume_server WHERE site_id='$id'"; 
     return $this->getName($str); 
    } 

    public function getName($str) 
    { 
     $data = array(); 
     $query = $this->getQuery($str); 

     if($query){ 
      foreach($query->result() as $row){ 
       array_push($data, $row->name); 
      } 
     } 

     return $data; 

    } 
    public function getQuery($str){ 
    $data = array(); 
    $query = $this->db->query($str); 

    if(!$query || $query->num_rows() == 0){ 
     return false; 
    } 
    return $query; 
} 

Однако, я м, получив следующую ошибку:

<p>Severity: Notice</p> 
<p>Message: Undefined property: stdClass::$name</p> 
<p>Filename: models/sitematrix_model.php</p> 
<p>Line Number: 129</p> 

Линия 129 - $this->getName($str).

У меня не было этого раньше, когда эта часть кода была встроена в функцию, но есть аналогичные функции, которые отличаются только таблицей, к которой обращаются. Любые мысли? Благодаря

+0

вы уверены, что у вас есть строка под названием 'name' в таблице' site_volume_server' – mgraph

+0

'mysql> описать site_volume_server; + ------------- + ------------------ + ------ + ----- + - ------- + ------- + | Поле | Тип | Null | Ключ | По умолчанию | Экстра | + ------------- + ------------------ + ------ + ----- + - ------- + ------- + | site_id | int (10) unsigned | НЕТ | | 0 | | | server_id | int (10) unsigned | НЕТ | | 0 | | | имя | varchar (20) | ДА | | NULL | | | описание | varchar (100) | ДА | | NULL | | ' – cybertextron

+0

Вы пробовали запустить запрос в phpMyAdmin (или аналогичном)? Есть ли действительный идентификатор? –

ответ

0

У меня та же проблема, только я пытаюсь получить доступ к $agenda->time_from собственности от __get(), который является столбец времени в таблице повестки дня, который извлекается из БДА правильно (я проверил var_dump, бегал запрос вручную в PhpMyAdmin) ,

Я делаю это, потому что звонок по умолчанию parent::_get() не вернет значение; вместо этого он возвращает NULL.

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

$agenda->_object['time_from'] 

Я предполагаю, что это не совсем правильное решение, но работает один.

+0

да, теперь я знаю, что это не решение, пожалуйста, кто-нибудь, что теперь? :( – Redrick

+0

Возможно, вам будет лучше опубликовать это как новый вопрос со ссылкой на этот оригинал в качестве дополнительной ссылки и указать, что у этого нет ответов. – Fluffeh

Смежные вопросы