2

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

3 回答 3

1

只需像下面这样制作变量,

$data = array( 'course_desc'   => '"'.$course_desc.'"' )

请让我知道这是否有帮助。

于 2013-09-30T18:54:47.590 回答
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);

在数据库中选择/获取它时反之亦然。

我希望这将有所帮助。

于 2013-12-04T05:08:55.243 回答
0

您可以使用 '\'

$data = array(

    'course_desc'   => "\"$course_desc\""

}
于 2013-12-04T05:38:05.730 回答