删除由$ this-> db->转义创建的引号,而不会弄乱原始文本

时间:2015-01-09 03:49:42

标签: php codeigniter quotes

我在我的数据库中插入数据之前使用$this->db->escape,但是,当我在数据库中查询该数据时,我在删除引号时遇到了问题。

我使用str_replace("'", "",$p->post_text);但它会按预期删除所有单引号。如果$p->post_text是一个类似&#34的字符串,我就不会为玛丽的兄弟工作了#34; 它也会删除它们。我注意到反斜杠被添加到字符串上的单引号而不是php生成的单引号上。

所以我试过了:

 $post_text = str_replace("'", "",$p->post_text);
 $post_text1 = stripslashes($post_text);

仍然无法正常工作。我想斜线会自动剥离。

任何帮助将不胜感激。

更新了增加的插入查询:

 $data = array('aluno_id' => $myid,
               'post_text' => $this->db->escape($text),
               'post_image' => $this->db->escape($img),
               'youtube_link' => $this->db->escape($video_code),
               'media_top' => $this->db->escape($media_top),
               'post_date' => date(date('Y-m-d H:i:s')) 

                            );

 $this->db->insert('mutamba_posts',$data);

1 个答案:

答案 0 :(得分:2)

虽然这是一个老问题,但没有解决方案,所以我添加了这个。

尝试使用

$this->db->escape_str($YOUR_STRING);