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

时间:2017-12-17 06:40:58

标签: php mysql codeigniter

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

  

array(1){[0] => object(stdClass)#19(11){[" id"] =>字符串(1)" 1"   ["标题"] => string(3)" Mrs" ["名称"] => string(6)" Devaka"   ["用户名"] => string(6)" Dabare" ["电子邮件"] =>串(23)   " devakadabare1@gmail.com" [" contactnum"] => string(10)" 0750548469"   [" user_address"] => (40)" 260 / B,Station Road,Angulana,Moratuwa"   ["区"] => string(7)" Colombo" ["密码"] => string(8)" 12345679"   ["买方"] =>字符串(1)" 1" ["卖方"] => string(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();
    }

1 个答案:

答案 0 :(得分:3)

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

因此,请按照以下方式更改模型,然后尝试使用代码:

public function getUser(){
        $query = $this->db->where(array('id'=>1))
            ->get('users');
        return $query->row();
    }