0

Post 值是多选,表示值以数组的形式出现

if(!empty($_POST['form_type']))
            {
               $test = implode("','",$_POST['form_type']);
               $this->db->where_in('enquiry.type_of_enquiry',"'".$test."'");
            }

我的查询是这样的

SELECT `sobha_enquiry`.`name`, `sobha_enquiry`.`date_created`, `sobha_enquiry`.`company`, `sobha_enquiry`.`form_of`, `sobha_enquiry`.`projectname`, `sobha_enquiry`.`city`, `sobha_enquiry`.`country`, `sobha_enquiry`.`phone`, `sobha_enquiry`.`type_of_enquiry`, `sobha_enquiryzone`.`enquiry_id`, `sobha_enquiry`.`hearaboutus`, `sobha_enquiry`.`email`, `sobha_enquiry`.`comments`, `sobha_enquiry`.`address`, `sobha_admin`.`id`, `sobha_admin`.`city_id` FROM (`sobha_senquiry`) LEFT JOIN `sobha_enquiryzone` ON `sobha_enquiryzone`.`enquiry_id` =`sobha_enquiry`.`id` LEFT JOIN `sobha_admin` ON `sobha_admin`.`city_id`=`sobha_enquiryzone`.`city_id` WHERE `sobha_enquiry`.`type_of_enquiry` IN ('\'register form\',\'feedback form\'') GROUP BY `sobha_enquiry`.`id` ORDER BY `sobha_enquiry`.`id` desc LIMIT 15

因为我使用了 implode 函数,所以它就像这样 IN ('\'register form\',\'feedback form\'') 我想删除那些反斜杠。请帮我

4

1 回答 1

1

$this->db->where_in()将接受数组作为第二个参数。

所以没有必要对数据进行内爆。

if(!empty($_POST['form_type']))
{
    $this->db->where_in('enquiry.type_of_enquiry',$_POST['form_type']);
}

这将导致,

 WHERE `enquiry`.`type_of_enquiry` IN ('register form','feedback form')

您可以参考此链接了解更多信息,Codeigniter Active Record 文档

于 2013-07-15T08:02:46.950 回答