How safe is this class function. Any improvement please guide me.
public function AddEditCompany($primaryid,$data){
$updatableFields = array('company_code','company_name','contact_person','company_logo','company_area','company_address','company_contact','company_mobile','company_email','activate');
$isexist = self::isexist($primaryid,$data['company_code']);
if($isexist == 0){
$ins_sql = $primaryid==0?"INSERT INTO ".$this->tablename." SET ":"";//insert or update
$wheresql = $primaryid==0?"":" WHERE company_id=" . (int) $primaryid;
$addsql = "";
foreach($data as $key=>$val){
if(in_array($key,$updatableFields)){
$addsql .= "`" . $key . "`='".dbconnect::escape($val)."'";
}
}
$finalsql = $ins_sql.$addsql.$wheresql;
if(dbconnect::query($finalsql)){
return 1;
}else{
return 'Unable to Update. Data Error.';
};
} else {
return 'Company Code Already Exists. Try different one.';
}
}