【发布时间】:2014-01-26 01:47:01
【问题描述】:
我是 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');
它给出了这个错误
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
在where子句之后应该是这样的
WHERE `username`='admin' AND `password`='7c4a8d09ca3762af61e59520943dc26494f8941b'
而不是这个
WHERE `username='admin'` AND password='7c4a8d09ca3762af61e59520943dc26494f8941b'
我搜索了Active Record Class 以及stackoverflow CodeIgniter WHERE clause 和其他论坛等所有地方,但没有找到与我的问题相关的解决方案。提前致谢。
【问题讨论】:
-
与其张贴模糊的屏幕截图,不如简单地将错误消息文本添加到您的问题中?
-
是的,我可以等一下……
-
你可以使用
where()的第三个参数来防止CI用反引号保护表名,所以$this->db->where($where,NULL,FALSE);应该修复它
标签: php mysql codeigniter