插入函数不能正常运行php

I am implementing crud operation using OOP php mysqli, I have been trying to insert a record into the databse, but it is not inserting. I tried to figure out what the problem maybe but can't get it. the codes appear to be correct but not working as expected.

public function insert($table,$data){

    if(!empty($data) && is_array($data)){
        $columns = '';
        $values  = '';
        $i = 0;
        if(!array_key_exists('created',$data)){
            $data['created'] = date("Y-m-d H:i:s");
        }
        if(!array_key_exists('modified',$data)){
            $data['modified'] = date("Y-m-d H:i:s");
        }
        foreach($data as $key=>$val){
            $pre = ($i > 0)?', ':'';
            $columns .= $pre.$key;
            $values  .= $pre."'".$val."'";
                   $i++;
          }
        $query = "INSERT INTO ".$table." (".$columns.") VALUES (".$values.")";
        $insert = $this->db->query($query);


        return $insert?$this->db->insert_id:false;
    }else{
        return false;
    }
}