试图获取非对象CodeIgniter框架的属性

问题描述 投票:1回答:1

当我变换转储$userData它将返回

array(1){[0] => object(stdClass)#19(11){[“id”] => string(1)“1”[“title”] => string(3)“Mrs”[“ name“] => string(6)”Devaka“[”username“] => string(6)”Dabare“[”email“] => string(23)”[email protected]“[”contactnum“] = > string(10)“0750548469”[“user_address”] => string(40)“260 / B,Station Road,Angulana,Moratuwa”[“district”] => string(7)“Colombo”[“password”] => string(8)“12345679”[“买方”] =>字符串(1)“1”[“卖方”] =>字符串(1)“0”}}

但是当我回应$userData->name

它会给出错误

试图获得非对象的属性

user.php控制器

defined('BASEPATH') OR exit('No direct script access allowed');

class User extends CI_Controller {

    public function __construct() {
        parent::__construct();
        $this->load->model('User_model','',true);
    }

    public function index()
    {
        $data['userData'] = $this->User_model->getUser();
        //$data['userEditData'] = $result[0];
        $this->load->view('profile/index', $data);
    }

模型

class User_model extends CI_model{

     public function __construct() {
        parent::__construct();
    }

    public function getUser(){
        $query = $this->db->where(array('id'=>1))
            ->get('users');
        return $query->result();
    }
php mysql codeigniter
1个回答
3
投票

如果只想从数据库中获得单个结果(行)。使用$query->row();而不是$query->result();

所以改变你的模型,然后尝试你的代码:

public function getUser(){
        $query = $this->db->where(array('id'=>1))
            ->get('users');
        return $query->row();
    }
© www.soinside.com 2019 - 2024. All rights reserved.