如何给函数赋值

时间:2016-02-05 07:10:36

标签: php codeigniter

我正在使用代码点火器,如何将查询的输出提供给函数returnQuery?然后将该值传递给我的控制器。

public function returnQuery() {
 $sql = "SELECT USERCODE FROM tbl_users where USERNAME =? AND PASSWORD = ?";
 $data = array(
  'USERNAME' => $this->input->post('USERNAME'),
  'PASSWORD' => $this->input->post('PASSWORD')
 );
 $query = $this->db->query($sql, $data);
}

2 个答案:

答案 0 :(得分:2)

您可以像CodeIgniter中的核心PHP一样返回任何函数的值。

修改行:

$query = $this->db->query($sql, $data);

要:

return $this->db->query($sql, $data);

请注意,我已删除$query分配,因为它未在任何地方使用。

我们可以在没有它的情况下返回数据。

答案 1 :(得分:0)

阅读完评论后,您可以将数据返回为:

public function returnQuery() 
{ 
    $sql = "SELECT USERCODE FROM tbl_users where USERNAME =? AND PASSWORD = ?"; 
    $data = array( 'USERNAME' => $this->input->post('USERNAME'), 'PASSWORD' => $this->input->post('PASSWORD') ); 
    $query = $this->db->query($sql, $data);
    $result = $query->result_array();
    if(count($result) > 0){
       return $result[0]["USERCODE"];
    }
    else{
       return 0;
    }
}

现在如何使用重定向:

//call function
$q = $this->login_model->returnQuery(); 
if ($q == 1){ 
     redirect('login/adminIndex'); 
}
elseif ($q == 2) { 
     redirect('login/userIndex'); 
}
else{
     redirect('login/restricted');
}

请注意,代码中没有比较您要分配的值 if ($q = 1)这应该是if ($q == 1)