Php 如何防止代码点火器中的SQL注入?

Php 如何防止代码点火器中的SQL注入?,php,codeigniter,Php,Codeigniter,我的程序未能通过sql注入的安全扫描。下面是我将数据插入数据库的函数之一。。请告知我应该如何修改代码以防止SQL注入。 提前谢谢 public function set_timeline() { $this->load->helper('url'); $this->load->helper('form'); $data = array( 'fiid' => $this->input->post('fiid'),

我的程序未能通过sql注入的安全扫描。下面是我将数据插入数据库的函数之一。。请告知我应该如何修改代码以防止SQL注入。 提前谢谢

public function set_timeline() {
    $this->load->helper('url');
    $this->load->helper('form');
    $data = array(
        'fiid' => $this->input->post('fiid'),
        'project_id' => $this->input->post('project_id'),
        'testing' => $this->input->post('testing'),
        'start_date' => $this->input->post('start_date'),
        'end_date' => $this->input->post('end_date'),
        'description' => $this->input->post('description'),
        'project_progress' => $this->input->post('project_progress'),
        'tester' => $this->input->post('tester'),
        'status' => $this->input->post('status')
    );

    $this->db->insert('timeline',$data);

    if ($this->db->affected_rows() > 0) {
        echo '<script>alert("Timeline Added Successfully"); window.history.back(); </script>';
    }
    else {  
        echo '<script>alert("Timeline already exist!"); window.history.back();</script>';
    }                       
}
public函数集_timeline(){
$this->load->helper('url');
$this->load->helper('form');
$data=数组(
'fiid'=>this->input->post('fiid'),
'project\u id'=>this->input->post('project\u id'),
“测试”=>this->input->post('testing'),
“开始日期”=>this->input->post(“开始日期”),
“结束日期”=>this->input->post(“结束日期”),
'description'=>this->input->post('description'),
“项目进度”=>$this->input->post('project\u progress'),
'tester'=>this->input->post('tester'),
'status'=>this->input->post('status')
);
$this->db->insert('timeline',$data);
如果($this->db->infected_rows()>0){
echo“警报(“已成功添加时间线”);window.history.back();
}
否则{
echo“警报(“时间线已存在!”);window.history.back();
}                       
}

是否可能重复您确定是此函数导致了故障?理论上,db->insert()已经为您转义了数据,请参见:@Manu:我认为可能的副本是:@fustaki,用于使用db->query()方法,该方法只将原始sql传递给db,insert()确实转义了。您可以始终回显$this->db->last\u query()调查实际输出。是否可能重复您确定是此函数导致了故障?理论上,db->insert()已经为您转义了数据,请参见:@Manu:我认为可能的副本是:@fustaki,用于使用db->query()方法,该方法只将原始sql传递给db,insert()确实转义了。您可以始终回显$this->db->last_query()以调查实际输出。