php返回undefined属性

时间:2012-06-15 23:37:15

标签: php mysql codeigniter

在其他不重复的内容中,我写了getName函数来为我完成职责:查询数据库的类只会发送SQL查询:

  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)

我之前没有那个,当代码的一部分嵌入到函数中时,但是有类似的函数只有被访问的表不同。 有什么想法吗? 感谢

1 个答案:

答案 0 :(得分:0)

我遇到了同样的问题,除了我试图从$agenda->time_from访问__get()属性,这是议程表中的时间列,它是从db中正确检索的(我检查了var_dump,运行了在phpMyAdmin中手动查询。

我这样做是因为默认调用parent::_get()不会返回值;它会返回NULL

我找到了解决问题的方法。您需要做的就是访问以下值:

$agenda->_object['time_from']

我想这不是一个正确的解决方案,而是工作一个。