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