字段名称包含空格时的codeigniter条件
Posted
技术标签:
【中文标题】字段名称包含空格时的codeigniter条件【英文标题】:codeigniter conditions where when field name contains space 【发布时间】:2017-07-18 22:33:48 【问题描述】:如果我有这样的活动记录,我在使用活动记录时遇到问题
$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]);
你有空间字段的方法吗?我认为我的方法效率不高..谢谢..
【问题讨论】:
最初是这样的:-$data_array = array( 'CodeEmployee' => 'AC01', 'StatusEmployee' => 'Y' );
【参考方案1】:
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'
【讨论】:
谢谢,我不知道有参数可以保护您的字段名称以上是关于字段名称包含空格时的codeigniter条件的主要内容,如果未能解决你的问题,请参考以下文章
是否可以使用带有 Codeigniter 的 Datamapper 来获取表的字段名称?