Codeigniter转义 – 来自数据库的unescape数据

请不要通过阅读问题来考虑否定问题.

因为我已经搜索了很多,而且我知道这个问题已被问到很多但是我不知道我没有得到适当的解决方案.

我希望数据在DB中存储和从DB检索时是安全的(来自sql注入和xss).

我的CI配置设置:

$config['global_xss_filtering'] = FALSE;

我的数据库添加查询:

$add_data['name'] = $this->db->escape($name);
.....
.....
$this->db->insert($this->table, $add_data);

我的数据库查看查询:

$q =$this->db->select($this->fld);
$q = $this->db->where("$this->cond");
$q = $this->db->order_by($this->sortid, $this->sortby);
$q = $this->db->limit( $this->limit,$this->offset);
$ret=$q->get()->result_array();

我的问题是:

DB Value is having single quotes : For ex. if $name = abc in DB it is
: ‘abc’

题 :

If I want to display the quoted data How can I display them without quotes.

How can I prevent adding the single quotes in database.

最佳答案 使用CI插入时,您不需要转义数据.活动记录会自动为您转义值.在你的例子中:

/* $add_data['name'] = $this->db->escape($name); - not need */
$add_data['name'] = $name;
.....
.....
$this->db->insert($this->table, $add_data);

阅读CI Active Records.每个功能都有解释.还有哪一个需要逃避,哪些不需要

点赞