$ this-> db-> escape()函数在codeigniter中添加单引号

时间:2018-02-24 05:31:15

标签: codeigniter

在codeigniter中,当我使用函数$ this-> db-> escape()插入数据时,它在数据库中添加单引号,任何人都可以帮忙解释为什么我会遇到这个问题?

这是我的代码

$data = array('company_id'=>$this->db->escape($companyID),'payor_type'=>$this->db->escape($payor_type),
                'payer_type'=>$this->db->escape($payer_type),'insurance'=>$this->db->escape($insurance),
                'created_date'=>date("Y-m-d H:i:s"));
                $this->db->insert('tb_Payer',$data);

1 个答案:

答案 0 :(得分:6)

当您使用query builder class构建查询时,系统会自动转义这些值,因此您不必使用函数$this->db->escape。在您的情况下,每个值都由转义函数转义,系统在执行插入函数时为每个值再次执行此操作。

现在,如果您想使用函数$this-db->query运行自定义查询,escape这样的数据就是一个很好的做法,如下所示:

$sql = "INSERT INTO table (column) VALUES(".$this->db->escape($value).")";
$this->db->query($sql);