【问题标题】:Codeigniter :adding values to array using get_whereCodeigniter:使用 get_where 向数组添加值
【发布时间】:2016-10-22 07:48:44
【问题描述】:

我正在使用 get_where 子句从数据库中获取值,用于我的登录,就像这样

控制器:

public function  submit_login(){
            if($this->input->post('submit')){
                $email= $this->input->post('email');
                $password= $this->input->post('password');
                $this->load->model('user_model');
                $result= $this->user_model->login($email, $password);

              print_r($result);
            }
        }

型号

public function login($email, $password){
        $query=$this->db->get_where('user',array('email'=>$email,'password'=>$password));
             if($query->num_rows()>0){
                return $query->result();
            }
        return false ; 
    }

它返回跟随数组

Array ( [0] => stdClass Object ( [id] => 2 [name] => Sikander [email] => sikander@test.com [密码] => 密码 [手机号码] => 1234 [角色] => 卖家 [积分] => 0 ) )

现在我尝试循环这个并将 id 分配给会话,但 foreach 似乎不适用于这个,不知道为什么请帮忙

【问题讨论】:

    标签: php mysql arrays codeigniter


    【解决方案1】:
    public function login($email, $password){
        $query=$this->db->get_where('user',array('email'=>$email,'password'=>$password));
             if($query->num_rows()>0){
                return $query->result();
            }
        return false ; 
    }
    

    在您的代码中返回 $query->result();在

    中给出带有对象的数组
    foreach ($users as $user) {
                      echo $user->email; // what ever your table fields          
    
                            }
    

    如果您只想要查询中的单个值,那么您需要 返回$查询->结果();替换为

    return $query->row(); // this return as object  or 
    return $query->row_array();// this return as single array  
    

    【讨论】:

      【解决方案2】:

      应用程序应该在物质模型中工作,只返回一个结果。 你在那里。如您所见,您有一个数组,其中一个元素 [0] 是一个对象。按照 OOP 方法,您可以通过以下方式访问这些属性(值):

      $result[0]->id;
      

      或者,由于需要从数据库中提取一行,因此您可以在模型中返回:

      return $query->row();
      

      并检查它

      $result->id
      

      如果数组语法更方便你迭代,你可以使用

      $query->result_array()
      

      $query->row_array() 
      

      方法。 docs中有很多有用的例子。

      【讨论】:

        猜你喜欢
        • 2023-03-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-06-12
        • 2016-06-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多