我使用活动记录时遇到问题,如果我有这样的活动记录
$data_array = array(
'Code Employee' => 'AC01',
'Status Employee' => 'Y'
);
$this->db->where($data_array);
$this->db->get('masteremp');
echo $this->db->last_query();
//Output query will be
SELECT * FROM masteremp WHERE `Code` `Employee` = 'AC01' AND `Status` `Employee` = 'Y'
我尝试编辑DB_query_builder并在第2430行添加此内容
if(!empty($conditions)){
for($index = 0; $index < sizeof($conditions); $index++){
if (strpos($conditions[$index], '` `') !== false) {
$conditions[$index] = str_replace('` `', ' ', $conditions[$index]);
}
}
}
你有空间场的方法吗?我认为我的方法不是效率..谢谢..
答案 0 :(得分:4)
IN codeigniter
你可以转义值和标识符。像这样尝试一次..
替换
$this->db->where($data_array);
。通过强>
$this->db->where($data_array,TRUE);//second parameter as TRUE
然后
//Output query will be
SELECT * FROM masteremp WHERE `Code Employee` = 'AC01' AND `Status Employee` = 'Y'