我使用$this->db->escape();
$this->db->set('last_name',$this->db->escape($lastname1));
它正在添加单引号,但我不想在视图中显示单个..是否有内置的方法来执行此操作?
答案 0 :(得分:1)
如果单引号显示,那么你可能会逃避两次。我使用了escape
而没有加倍使用单引号。如果您查看http://www.codeignitor.com/user_guide/database/active_record.html,您会看到默认情况下set
会自动转义。
set() will also accept an optional third parameter ($escape), that will prevent data from being escaped if set to FALSE. To illustrate the difference, here is set() used both with and without the escape parameter.
所以你不需要致电escape
而你应该没事。
答案 1 :(得分:0)
我不知道你正在使用哪个类,因为PHP中的MySQLI类没有任何'escape()' - 函数。
但是将插入查询转义到数据库的常用方法是使用Prepared Statement。
正如我从文档中看到的那样,本框架中没有真正的准备声明。但是,我发现了这个:
$ this-> db-> escape()此函数 确定数据类型以便它 只能转义字符串数据。 它也 自动添加单引号 围绕数据,所以你不必:
您应该查看Documentation。