Hola, yo veo que como te han dicho anteriormente, la variable $imagen deberia ir en comillas, y ademas estas levantando mal $imagen, se usaria $_FILES
si lo que queres es subirla a tu servidor, y ademas ponerla en la base de datos, te dejo algo que hice recien, para que lo adaptes a tu codigo.
Espero que sea de ayuda, ya que soy nuevo.
Código PHP:
Ver original<?php
$nombre = $_POST['prd_nombre'];
$descripcion = $_POST['prd_descripcion'];
$precio = $_POST['prd_precio'];
$categoria = $_POST['cat_id'];
$prd_alta = date("Y-m-d"); $foto1 = $_FILES['prd_foto1']['name'];
$foto2 = $_FILES['prd_foto2']['name'];
$foto1_tmp = $_FILES['prd_foto1']['tmp_name']; //REFERENCIA AL NOMBRE TEMPORAL DEL ARCHIVO
$foto2_tmp = $_FILES['prd_foto2']['tmp_name']; //REFERENCIA AL NOMBRE TEMPORAL DEL ARCHIVO
//MOVER A UN DIRECTORIO DE TRABAJO
//LO AGREGAMOS A LA BASE DE DATOS
include("conexion.php");
$sql = "INSERT INTO productos(prd_id, prd_nombre,prd_descripcion,prd_precio,cat_id,prd_alta,prd_foto1,prd_foto2) VALUES(NULL,'$nombre','$descripcion','$precio','$categoria','$prd_alta','$foto1','$foto2')";
?>