Error Number: 1054 Unknown column 'username='xc'' in 'where clause' SELECT `id`, `username`, `password` FROM (`users`) WHERE `username='xc'` AND `password='b587c9a76c9cd8dfc40a757616c1e47d'` LIMIT 1 Filename: C:\xampp\htdocs\rpo\system\database\DB_driver.php Line Number: 330
代码:
function login($username,$password) {
$this->db->select('id,username,password');
$this->db->from('users');
$this->db->where('username='."'".$username."'");
$this->db->where('password='."'".MD5($password)."'");
$this->db->limit(1);
$query=$this->db->get();
if($query->num_rows()==1) {
return $query->result();
} else {
return false;
}
答案 0 :(得分:3)
试试这个
SELECT `id`, `username`, `password`
FROM `users`
WHERE `username`='xc'
AND `password`='b587c9a76c9cd8dfc40a757616c1e47d' LIMIT 1
你应该在列名称周围使用反引号而不是整个句子或整个where子句。
将您的行更改为:
$this->db->where('username' , $username );
$this->db->where('password' , MD5($password) );
答案 1 :(得分:0)
你有一个错误,`在用户名条件中的位置
改变这个:
WHERE `username='xc'
到此:
WHERE `username`='xc'
更正完整代码:
SELECT `id`, `username`, `password`
FROM `users`
WHERE `username`='xc'
AND `password`='b587c9a76c9cd8dfc40a757616c1e47d' LIMIT 1
更改codeigniter查询尝试此:
$this->db->select('id,username,password');
$this->db->from('users');
$this->db->where('username= "'.$username.'"');
$this->db->where('password = "'.MD5($password).'"');
$this->db->limit(1);
答案 2 :(得分:0)
DESCRIBE table_name //返回表结构
检查列名称,然后重试
答案 3 :(得分:0)
修复codeigniter方法:
您可以将条件作为字符串或数组传递。
$这 - > DB-化合物其中( '用户名',$用户名);
$ this-> db-> where('password',MD5($ password));
2.作为组合数组传递
$这 - > DB-化合物其中(阵列( '密码'=> MD5($密码), '用户名'=> $用户名));
答案 4 :(得分:0)
试试这个
$this->db->select('id,username,password');
$this->db->from('users');
$this->db->where("username ='$username'");
$this->db->where("password ='MD5($password)'");
$this->db->limit(1);
$query=$this->db->get();
if($query->num_rows()==1)
{
return $query->result();
}
else
{
return false;
}