Codeigniter在哪里生成错误的查询

时间:2017-01-16 17:34:24

标签: php sql codeigniter where

我尝试获取所有国家/地区但是codeigniter会生成错误的sql,为什么? 这是我的模型

private $cities    = "cities";

public function get_cities_by_country($country_id){
    $this->db->select('id, city');
    $this->db->where('country_id', $country_id);
    $this->db->from($this->cities);
    return $this->db->get()->result_array();
}

我使用log_message for $ country_id和$ this-> db-> last_query()

INFO  - 2017-01-16 18:30:25 --> '7'
INFO  - 2017-01-16 18:30:25 --> 'SELECT `id`, `city`
FROM (`cities`)
WHERE `country_id` =  \'7\'
AND `status` =  1'

我认为这是一个问题country_id = \'7 \' 谢谢!

1 个答案:

答案 0 :(得分:0)

CI正在尝试转义where值,您可以通过将FALSE作为可选参数传递给where子句来避免它:

    $this->db->where('country_id', $country_id, FALSE);

在此处阅读更多内容:https://www.codeigniter.com/userguide2/database/active_record.html