我在我的模型中实现了一个简单的查询:
$condition = "id='$user_id' AND (role='admin' OR role='manager' OR role='staff')" ;
$this->db->select("password,ref_id,role");
$this->db->from("user");
$this->db->where($condition);
$query = $this->db->get();
return $query->row_array();
但是,发生以下错误:
Error Number: 1054
Unknown column 'id='1'' in 'where clause'
SELECT `password`, `ref_id`, `role` FROM (`user`) WHERE `id='1'` AND (role='customer' OR role='supplier')
Filename: D:\MYSERVER\wamp\www\system\database\DB_driver.php
Line Number: 330
那有什么不对?
答案 0 :(得分:0)
$this->db->select("password,ref_id,role");
$this->db->from("user");
$this->db->where('id', $user_id);
$this->db->where('role', 'manager');
$this->db->where_or('role', 'staff');
或如果是您的代码,那么哪些方法无法运作。如果要在where中添加sql语句,则还必须传递其他参数。请尝试以下 -
$this->db->where($condition, NULL, FALSE);
答案 1 :(得分:0)
你可以尝试这个:
$this->db->where($condition, NULL, false);
在上面的语法中,第一个用于condition
,第二个参数用于value
,这里是NULL
,第三个用于转义字符串(默认为true) )。