我知道codeigniter会自动转义字符以防止可能的sql注入。但是,我如何能够在数据库中使用双引号存储字符串值。这可能吗?或者是否有一个函数或条件可以忽略双引号并仍使用codeigniter活动记录将其存储在数据库中?我试图在数据库中存储双引号值但它无法存储该值。例如。我想使用变量$course_desc
将此值“计算机课程”存储在数据库中,但我的数据库中的描述字段不存储任何内容。我能如何做到这一点?这是我用于插入值的模型活动记录代码:
型号:
public function insert_file($filename,$course_name,$course_desc,$tennant_email,$is_public,$concat_url)
{
$data = array(
'course_id' => '',
'tennant_id' => $tennant_email,
'display_public'=> $is_public,
'course_name' => $course_name,
'course_desc' => $course_desc,
'private_url' => $concat_url,
'filename' => $filename
);
$this->db->insert('courses', $data);
return true;
}
答案 0 :(得分:1)
只需在下面创建变量,
$data = array( 'course_desc' => '"'.$course_desc.'"' )
请告诉我这是否有帮助。
答案 1 :(得分:0)
如果您在使用双引号(“)插入数据时遇到问题,我建议您尝试使用替换。例如:
$data = array(
'course_id' => '',
'tennant_id' => $tennant_email,
'display_public'=> $is_public,
'course_name' => $course_name,
'course_desc' => str_replace('"','xxxxx',$course_desc)),
'private_url' => $concat_url,
'filename' => $filename
);
$this->db->insert('courses', $data);
,反之亦然,在数据库中选择/获取它时。
我希望这会有所帮助。
答案 2 :(得分:0)
您可以使用'\'
$data = array(
'course_desc' => "\"$course_desc\""
}