如何使用codeigniter活动记录在数据库中插入双引号字符串值?

时间:2013-09-24 14:25:22

标签: php mysql codeigniter

我知道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;
  }

3 个答案:

答案 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\""

}