Quindi il problema col db l'abbiamo risolto suppongo...

Ora immagino si fermi qui

Codice PHP:
if(!is_uploaded_file($_FILES['immagine']['tmp_name']))    {        
 
$errors[] = 'Si sono verificati errori durante l\\'upload.';    

Prova a modificarlo così e dimmi quale codice riporta (un numero da 0 a 6)

Codice PHP:
if(!is_uploaded_file($_FILES['immagine']['tmp_name']))    {        
 
$errors[] = 'Si sono verificati errori durante l\\'upload (Codice'.$_FILES['immagine']['error'].')';    

E comunque ti suggerisco di usare questa:

move_uploaded_file()