不能使用codeigniter在数据库中插入双引号

不能使用codeigniter在数据库中插入双引号,codeigniter,tinymce,Codeigniter,Tinymce,我正在使用codeigniter和mysql进行web开发。我还使用了一个名为tinymce编辑器的富文本编辑器。我的问题是我已经在文本区域应用了文本编辑器。当我应用标题和段落标记等时,一切正常,但当我使用“居中”文本时,它使用css的“样式”标记,如style=“text align:center;”但当我将其插入数据库时,它不包括双引号“”,它将插入的只是style=,而不包括“”及其内部 The code below is used to insert data from the form

我正在使用codeigniter和mysql进行web开发。我还使用了一个名为tinymce编辑器的富文本编辑器。我的问题是我已经在文本区域应用了文本编辑器。当我应用标题和段落标记等时,一切正常,但当我使用“居中”文本时,它使用css的“样式”标记,如style=“text align:center;”但当我将其插入数据库时,它不包括双引号“”,它将插入的只是style=,而不包括“”及其内部

The code below is used to insert data from the form including the textarea that was applied with the tinymce text-editor.

$("#send_email").click(function()
   {


    $("#myModal_loader").modal('show');
    var email_add = $("#email").val();
    var email_subject = $("#email_subject").val();
    var email_message = tinymce.get('email_message').getContent();


    var postData   = {
                      'email_add':email_add,
                      'email_subject':email_subject,
                      'email_message':email_message
                    };

    $.ajax({
        type: "POST",
        url: "<?php echo base_url();?>students/send_email",
        dataType: 'json',
        data: postData,
        success: function(data)
        {
        $("#myModal_loader").modal('hide');
        $("#myModal_confirm").modal('show');

        $("#email_subject").val("");
        $("#email_message").val("");

        console.log();


        }



    });
   $("html, body").animate({ scrollTop: 0 }, 600);

   return false;

    });
    });
    </script>
模型

函数插入电子邮件数据($email\u add、$tennant\u email、$email\u subject、$email\u message){
对于($i=0;$i$email\u添加[$i],
“tennant_电子邮件”=>$tennant_电子邮件,
“电子邮件主题”=>$email主题,
“email\u message”=>$email\u message
);
$this->db->set('time_sent','NOW()',FALSE);
$this->db->insert('email',$data);
}
}
CI文档:

你需要使用

$this->db->set('field', $field_value,FALSE); //FALSE will disable the automatic escaping. 

这里的问题是,使用ajax从视图传递到控制器的textarea的格式化值不是读取所有html标记,因为它逃避了代码中的双引号,而是传递了不完整的html标记

我所做的是在传递格式化值之前,我删除了双引号,并使用下面的代码替换它

var new_message = email_message.replace(/"/g, '\'');

它解决了问题。

哪个字段是问题
email\u message
?电子邮件是这里的问题,因为它有html标记和css内联样式,其中包含双引号,如style=“text align:center”。等号后的引号不可读。请检查下面的答案。这仅适用于插入单列的情况。在我的例子中,我需要插入一个数据数组。您可以使用
db->query()
$this->db->insert();
Note: All values are escaped automatically producing safer queries.
$this->db->set('field', $field_value,FALSE); //FALSE will disable the automatic escaping. 
var new_message = email_message.replace(/"/g, '\'');