dsdzvprlp51692469 2012-09-27 23:30
浏览 73
已采纳

Codeigniter - 类__PHP_Incomplete_Class的对象无法转换为字符串

I'm getting a Object of class __PHP_Incomplete_Class could not be converted to string error when I echo my is_active variable, I can work just fine with the username and is_logged_in variable, but not with the is_active variable, I'm wondering what I could be doing wrong here...

On my controller I did:

$username=$this->input->post("username");
            $activated_val=$this->membership_model->is_activated($username);

            $data = array(
                "username" => $this->input->post("username"),
                "is_logged_in" => true,
                "is_active" => $activated_val
            );
            $this->session->set_userdata($data);
            redirect("main");

My model function:

function is_activated($username){
        $query = "SELECT activated FROM members WHERE username=?";
        $result = $this->db->query($query, $username);

        return $result;
    }

And in my view:

$is_active= $this->session->userdata("is_active");
                echo $is_active;
  • 写回答

1条回答 默认 最新

  • doupang3062 2012-09-27 23:41
    关注

    In your model change the return line from

    return $result;
    

    to

    return $result->row()->activated;
    

    The query returns a CodeIgniter object which is not even a result yet, after passing it to row() you get an object with your database column values as this object attributes, then you refer to the activated column value by getting(->activated) the corresponding attribute of this object.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?