Algunas sugerencias sobre lo que podría cambiar para que esto funcione.
1. Cargar formulario
¿Cómo se ve la etiqueta de tu formulario? No olvides incluir el enctype
parámetro como se indica a continuación:
<form type="post" action="" enctype="multipart/form-data">
...
</form>
2. Desinfección
$company = mysql_real_escape_string($_POST['company']);
$location = mysql_real_escape_string($_POST['location']);
$pic = mysql_real_escape_string($_FILES['userfile']['name']);
Las líneas anteriores son el primer paso para ayudar a evitar que sus consultas sufran ataques de inyección SQL.
3. Consulta SQL
$userfile
no existe ya que en realidad ha asignado el nombre del archivo a $pic
en cambio, su consulta debería verse así:
$query = "INSERT INTO user_DB
VALUES ('','$company', '$location', '$pic')";
4. Salida HTML
Ahora para vincular al archivo en su tabla de salida:
echo "<td>";
echo "<a href=" . $target_path . basename($row['userfile']) . ">
{$row['userfile']}</a>";
echo "</td>";