Comunque in programmazione andrebbe evitato il codice ridondante, il rischio di errori aumenta di pari passo con i casi simili trattati. Inoltre con questo sistema venivano eseguite tante query quanti file venivano inseriti.
Ti ho riscritto il codice in modo che settando il numero di upload desiderati lui eseguira lo stesso numero di controlli sui campi; se dovessi cambiarlo, non dovrai modificare l'algoritmo in php ma solo quella variabile.
Codice PHP:
// Quanti upload andranno eseguiti?
$numeroUpload = 8;
// Algoritmo per l'upload dei file
$sqlValues = array(); // inizializiamo l'array con i valori della query INSERT
for ($i = 0; $i < $numeroUpload; $i++) {
$uploadfile = $uploaddir . $_FILES['userfile'. $i]['name'];
if (move_uploaded_file($_FILES['userfile'. $i]['tmp_name'], $uploadfile)) {
$sqlValues[] = "('{$_POST['id_event']}' , '". $_FILES['userfile'. $i]['name'] ."')";
print "Immagine numero $i inserita con successo
";
} else {
print "Siamo spiacenti, non è stato possibile caricare l'immagine numero $i
";
}
} // Fine ciclo for
// Ora eseguiamo una sola query SQL con tutti i valori creati
$sql = 'INSERT INTO `event_img` (`id_event` , `img`) VALUES '. implode(', ', $sqlValues);
mysql_query($sql);
Un ulteriore modifica si potrebbe fare per generare automaticamente i campi HTML per l'upload basandosi sempre sulla variabile $numeroUpload.
Ri-ciao 
PS: ho scritto il codice senza testarlo, spero sia immune da errori ma questi sono sempre in agguato quando si programma. Nel caso ve ne fossero, scrivi sempre qui