我在引用codeigniter用户指南来编写自定义where子句。 根据指南,它说自定义where子句写这样的。
$where = "name='Joe' AND status='boss' OR status='active'";
$this->db->where($where);
但是当我在我的模型浏览器中使用时会抛出错误。
A Database Error Occurred
Error Number: 1054
Unknown column 'user_name='Joe'' in 'where clause'
SELECT * FROM (`Management`) WHERE `user_name='Joe'` AND password='boss' OR password='active'
Filename: /var/www/models/hr_login_model.php
Line Number: 28
这只是一个测试查询。我的实际查询是动态查询,它也给出了这个错误。
$where = "user_name='".$username."' AND password='".$password."' AND Department='".$dep_br."' OR Br_no='".$dep_br."'";
为什么它总是将列名和值作为列名?
答案 0 :(得分:3)
之前和之后的用户空间=如下所示。
$where = "name = 'Joe' AND status = 'boss' OR status = 'active'";
$this->db->where($where);
答案 1 :(得分:1)
试试这个:
$where = "name='Joe' AND status='boss' OR status='active'";
$this->db->where($where, NULL, FALSE);
答案 2 :(得分:1)
尝试这种方式更好更安全
$this->db->where("name","joe");
$this->db->where("status =","boss");
$this->db->or_where("status","active");
答案 3 :(得分:0)
使用以下
$where = "user_name='$username' AND password='$password' AND (Department='$dep_br' OR Br_no='$dep_br')";