I am stuck. I have spent two days looking thru all the references I can find and I can’t figure out why this will not work! I get the error: "Creating default object from empty value." Bellow is my SQL statement and my parameters array.
    $sql_insert = "
    INSERT INTO vrm_vrd_submission_tbl (vrm_vrd_nmbr_id, vrm_vrd_sub_type_id, vrm_vrd_sub_date, vrm_vrd_min_form_date, vrm_vrd_sub_quantity, county_id, pers_emp_pre_id, election_general_info_id ,vrm_vrd_sub_submitter_name, vrm_vrd_compliance_rules_id)
    VALUES(:vrm_vrd_nmbr_id,
   :vrm_vrd_sub_type_id,
   :vrm_vrd_sub_date,
   :vrm_vrd_min_form_date,
   :vrm_vrd_sub_quantity,
   :county_id,
   :pers_emp_pre_id,
   :election_general_info_id,
   :vrm_vrd_sub_submitter_name,
   :vrm_vrd_compliance_rules_id)
   ";
    $sql_parms=array(":vrm_vrd_nmbr_id"=>$vrm_vrd_nmbr_id, ":vrm_vrd_sub_type_id 
    "=>$data['vrm_vrd_sub_type_id'], 
    ":vrm_vrd_sub_date"=>trim($data['vrm_vrd_sub_date']), 
    ":vrm_vrd_min_form_date"=>trim($data['vrm_vrd_min_form_date']), 
    ":vrm_vrd_sub_quantity"=>trim($data['vrm_vrd_sub_quantity']), ":county_id 
    "=>$data['county_id'],":pers_emp_pre_id "=>$data['pers_emp_pre_id'], 
    ":election_general_info_id"=>$election_general_info_id, 
    ":vrm_vrd_sub_submitter_name"=>$vrm_vrd_sub_submitter_name, 
    ":vrm_vrd_compliance_rules_id"=> $vrm_vrd_compliance_rules_id);
    $ret_val=$db->db_bound_query($sql_insert, $sql_parms);
Method being called in my database class:
    public function db_bound_query($qry_str, $parms_array){
            $log = new error_log_class;
            $db_conn = self::_connect();
            if(!$exec_str= $db_conn->prepare($qry_str)){    
            $log->save_to_log($qry_str,__LINE__,__FILE__,"Failed to perpare.");     
            }
            $val="";
            foreach($parms_array as $parm ->$val){
               $exec_str->bindParam($parm,$val);
            }       
            $res=$exec_str->execute();
            $results= $exec_str->fetchAll(PDO::FETCH_ASSOC);    
      }
EDIT: I changed this method to the following as suggensted by @iamsleepy and @MrCode. But I am getting the error I was originally chasing which is "Invalid Parameter number".
    public function db_bound_query($qry_str, $parms_array){
            $log = new error_log_class;
            $db_conn = self::_connect();
            if(!$exec_str= $db_conn->prepare($qry_str)){    
                $log->save_to_log($qry_str,__LINE__,__FILE__,"Failed to perpare.");     
            }
            $res=$exec_str->execute($parms_array );
            $results= $exec_str->fetchAll(PDO::FETCH_ASSOC);    
            return $results;
    }