Reputation: 911
I'm referring the codeigniter user guide to write a custom where clause. as per the guide it says for custom where clauses write like this.
$where = "name='Joe' AND status='boss' OR status='active'";
$this->db->where($where);
but when i use in my model browser is throwing an error.
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
this is just a testing query. my actual query is dynamic one and it is also giving this error.
$where = "user_name='".$username."' AND password='".$password."' AND Department='".$dep_br."' OR Br_no='".$dep_br."'";
why it always taking the column name and the value, both as a column name?
Upvotes: 2
Views: 2498
Reputation: 9054
Try this way it is much more better and secure
$this->db->where("name","joe");
$this->db->where("status =","boss");
$this->db->or_where("status","active");
Upvotes: 1
Reputation: 1011
Try this:
$where = "name='Joe' AND status='boss' OR status='active'";
$this->db->where($where, NULL, FALSE);
Upvotes: 1
Reputation: 5437
use following
$where = "user_name='$username' AND password='$password' AND (Department='$dep_br' OR Br_no='$dep_br')";
Upvotes: 0
Reputation: 3329
User space befor and after = like shown below.
$where = "name = 'Joe' AND status = 'boss' OR status = 'active'";
$this->db->where($where);
Upvotes: 3