use*_*841 0 php mysql codeigniter
我是codeigniter的新手,我在这个代码的模型中有一个函数
$this->db->select("id, username, password");
$this->db->from(TABLE_USERS);
$where = "username='".$username."' AND password='".$password."' AND status='1'";
$this->db->where($where);
$this->db->limit(1);
$login = $this->db->get();
echo '<pre>';print_r($login);echo '</pre>';die('Call');
Run Code Online (Sandbox Code Playgroud)
它正在给出这个错误
A Database Error Occurred
Error Number: 1054
Unknown column 'username='admin'' in 'where clause'
SELECT `id`, `username`, `password` FROM (`users`) WHERE `username='admin'` AND password='7c4a8d09ca3762af61e59520943dc26494f8941b' AND status='1' LIMIT 1
Filename: C:\wamp\www\customadmin\system\database\DB_driver.php
Line Number: 330
Run Code Online (Sandbox Code Playgroud)
在where子句之后,这应该是这样的
WHERE `username`='admin' AND `password`='7c4a8d09ca3762af61e59520943dc26494f8941b'
Run Code Online (Sandbox Code Playgroud)
而不是这个
WHERE `username='admin'` AND password='7c4a8d09ca3762af61e59520943dc26494f8941b'
Run Code Online (Sandbox Code Playgroud)
我搜索过Active Record Class以及stackoverflow CodeIgniter WHERE子句和其他论坛的所有地方,但没有找到与我的问题相关的解决方案.提前致谢.
试试这样:
$where = array('username' => $username, 'password' => $password, 'status' => '1');
$this->db->where($where);
Run Code Online (Sandbox Code Playgroud)