显示转义数据[codeigniter]

时间:2011-05-07 18:45:47

标签: php codeigniter

我使用$this->db->escape();

保存db中的值
$this->db->set('last_name',$this->db->escape($lastname1));

它正在添加单引号,但我不想在视图中显示单个..是否有内置的方法来执行此操作?

2 个答案:

答案 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