我试图在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的单引号。

08-26 07:22