Algumas sugestões para o que você pode mudar para que isso funcione.
1. Carregar formulário
Como é a sua tag de formulário? Não se esqueça de incluir o
enctype
parâmetro conforme abaixo:<form type="post" action="" enctype="multipart/form-data">
...
</form>
2. Sanitização
$company = mysql_real_escape_string($_POST['company']);
$location = mysql_real_escape_string($_POST['location']);
$pic = mysql_real_escape_string($_FILES['userfile']['name']);
As linhas acima são o primeiro passo para ajudar a evitar que suas consultas sofram ataques de injeção de SQL.
3. Consulta SQL
$userfile
não existe pois você atribuiu o nome do arquivo a $pic
em vez disso, sua consulta deve ficar assim:$query = "INSERT INTO user_DB
VALUES ('','$company', '$location', '$pic')";
4. Saída HTML
Agora, para vincular ao arquivo em sua tabela de saída:
echo "<td>";
echo "<a href=" . $target_path . basename($row['userfile']) . ">
{$row['userfile']}</a>";
echo "</td>";