类 stdClass 的对象无法转换为字符串

2022-08-30 10:23:55

我目前遇到PHP问题,我收到此错误,

Object of class stdClass could not be converted to string当我在我的网站中运行这部分代码时,会发生错误,

function myaccount() {
    $data['user_data'] = $this->auth->get_userdata($this->uri->segment(3));
    //var_dump($data['user_data']);
    $this->load->model('users_model');
    $data['user_info'] = $this->users_model->get_user_and_roadmaps_by_id($this->uri->segment(3));
    $this->template->build('users/my_account', $data);
}

发生错误的行是这一行,

$data['user_data'] = $this->auth->get_userdata($this->uri->segment(3));

这条线调用这个函数,

   function get_userdata() {

        $CI =& get_instance();

        if(!$this->logged_in()) {
            return false;
        } else {
            $query = $CI->db->get_where('users', array('user_id' => $CI->session->userdata('user_id')));
            return $query->row();
        }
    }

我现在真的不知道这个问题是什么,所以任何帮助都会很棒。


答案 1

最有可能的是,该函数返回的是对象,而不是字符串。查看文档(或var_dump返回值)以确定需要使用哪个值。userdata()


答案 2

我使用代码指示器,我得到错误:

类 stdClass 的对象无法转换为字符串。

对于这篇文章,我得到了我的结果

我在我的模型部分使用

$query = $this->db->get('user', 10);
        return $query->result();

从这篇文章我使用

$query = $this->db->get('user', 10);
        return $query->row();

我解决了我的问题


推荐