codeigniter custom where子句中的错误

时间:2013-12-30 08:43:01

标签: php mysql codeigniter

我在引用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."'";

为什么它总是将列名和值作为列名?

4 个答案:

答案 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')";