我试图在codeigniter中运行查询。从前端获取了3个值,这3个值是
$location
$min_exp
$max_exp
如果里面有一个值,那么它需要包含在where条件中,所以我为所有3个值创建了这样的查询
if($location)
{
$this->db->where('location', $location );
}
if($min_exp)
{
$this->db->where('experience >= ', $min_exp );
}
if($max_exp)
{
$this->db->where('experience <= ', $max_exp );
}
$data1 = $this->db->get('tablename');
$first_array[] = $data1->result_array();
echo $this->db->last_query();
SELECT * FROM `tablename` WHERE `location` = 'USA' AND `experience` >= '4' AND `experience` <= '10'
但是此查询未根据条件获取结果,当我尝试在phpmyadmin中执行查询时,它还会显示所有数据。
谁能告诉我我要去哪里哪里以及我需要如何纠正它
最佳答案
您的where
子句可能看起来像这样:
WHERE `location` = 'USA' AND
`experience` >= 4 AND `experience` <= 10
注意
location
的相等性和experience
的单引号。