未定义的属性:stdClass :: $ 1试图检索POST

时间:2014-01-01 14:46:21

标签: php codeigniter

我正在尝试访问控制器中的后置输入值。任何帮助找出我在这里做错了什么?

这是我的控制器

class Login extends MY_Controller {


public function __construct() {
    parent::__construct();
    $this->load->model('Users_model');
    $this->load->helper('form_helper');
}


public function index()
{

    $this->load->view('templates/header');
    $this->load->view('login');
    $this->load->view('templates/footer');
}

public function authenticate(){
    if($this->input->post('submit')){
        $id  = $this->input->post('id');

    $query = $this->db->get_where('users', array('id' => $id));

    foreach ($query->result() as $row)
    {
       echo $row->$id;
       echo $row->email;
       echo $row->password;
    }

    }


}

}

登录表单

<?php echo form_open('login/authenticate') ?>

<label for="title">Title</label>
<input type="input" name="id"/><br/>



<input type="submit" name="submit"  />

上面的代码给出了错误

  

遇到PHP错误

严重性:注意

消息:未定义的属性:stdClass :: $ 1

文件名:controllers / login.php

谢谢,任何帮助非常感谢。 :)

2 个答案:

答案 0 :(得分:2)

尝试将echo $row->$id;更改为echo $row->id;

答案 1 :(得分:0)

为什么在关联模型时会发生错误?

Illuminate \ Database \ QueryException,带有消息“ SQLSTATE [42S22]:找不到列:1054”“ where子句”中的未知列“ post.karyawan_model_id”(SQL:从var legendContainer = document.getElementById('#my-legend-container'); // your container of the legends legend: { show: true, position: "ne", // north east, please refer to documentation for "ne" or "nw" or "se" or "sw" container: legendContainer, // jQuery object/DOM element/jQuery expression } 中选择*,其中postpost = 1和karyawan_model_idpost不为null)'

模型发布人:

karyawan_model_id