【发布时间】:2016-05-19 03:09:23
【问题描述】:
我正在用管理员开发这个登录系统。我目前正在制作用于验证用户类型(管理员或用户)的模型,但查询不起作用,而它几乎与具有帐户验证的模型相同。我检查了 post 参数是否返回到第二个查询,它是,但它仍然不起作用。但好的部分是,如果我对用户名进行硬编码,它可以完美运行。请帮忙。这是我的代码
login_model.php
public function can_log_in(){
$sql ="SELECT * 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();
//print_r($result);
//exit;
if ($query->num_rows() == 1){
return true;
}else{
return false;
}
}
public function returnQuery(){
////hard coded (works perfectly)
//$sql ="SELECT USERCODE FROM tbl_users WHERE USERNAME = 'username' AND PASSWORD = 'password'";
//$query = $this->db->query($sql);
//$result = $query->result_array();
///database based.
$sql ="SELECT USERCODE FROM tbl_users WHERE USERNAME = ? AND PASSWORD = ?";
$data = array(
'USERNAME' => $this->input->post('USERNAME'),
'PASSWORD' => $this->input->post('PASSWORD')
);
//print_r($data);exit;
$query = $this->db->query($sql, $data);
//print_r($query);exit; ->> output is an empty array
$result = $query->result_array();
//print_r($result);exit;
if(count($result) > 0){
return $result[0]["USERCODE"];
}else{
return 0;
}
}
【问题讨论】:
-
你确定 $this->input->post('USERNAME') 包含一个值吗?
标签: php sql codeigniter