如何查询SELECT WHERE ... BETWEEN两个变量

时间:2016-11-21 15:07:13

标签: php mysql codeigniter

我有这个代码来过滤产品价格,但我仍然对使用两个变量进行SELECT WHERE...BETWEEN查询感到困惑。这是代码:

$min=$this->input->post('minValue');
$max=$this->input->post('maxValue');
$this->db->select('*');
$this->db->from('msproduct');
$this->db->where('ProductPrize BETWEEN $min AND $max');
$query = $this->db->get();
data['product']=$query->result();
$this->load->view("user/product/product_filter",$data); 

我收到了这个错误:

  

'where子句'中的未知列'$ min'

2 个答案:

答案 0 :(得分:3)

这可能是因为{/ 1}}和$min变量未在

中进行评估
$max

将其更改为

$this->db->where('ProductPrize BETWEEN $min AND $max');

注意引用。 $this->db->where("ProductPrize BETWEEN $min AND $max"); 不评估内部的php变量,但'评估它们

答案 1 :(得分:0)

你可以试试这个:

$min=$this->input->post('minValue');
$max=$this->input->post('maxValue');
$this->db->select('*');
$this->db->from('msproduct');
$this->db->where('ProductPrize >=', $min);
$this->db->where('ProductPrize <=', $max);
$query = $this->db->get();
data['product']=$query->result();
$this->load->view("user/product/product_filter",$data);