I didnt really understand your first questions, but here is a little debugging for you. Also, I am NOT positive, but I am PRETTY SURE that table names can't have spaces like in the code in your post and mine. (i.e. contact Secondary & contact Mobile)
$sql = "INSERT INTO `user_info` (`user_id`, `Email`,`password`, `sex`, `first_name`, ";
$sql .= "`last_name`, `address`, `town`, `city`, `post_code`, `country`, `subjects`, ";
$sql .= "`university`, `contact Mobile`, `contact Secondry`, `group`, `extra2`, `extra3`)";
$sql .= " VALUES (ASCII(''), ".$_POST['E-mail'].", ".$_POST['password'].",".$_POST['sex'].", ".$_POST['first_name']."";
$sql .= ", ".$_POST['last_name'].", ".$_POST['address'].",".$_POST['town'].", ".$_POST['city'].", ".$_POST['post_code'].", ".$_POST['country'].", ".implode(",", $_POST['subjects']).", ".$_POST['university'].", ".$_POST['mobile'].", ".$_POST['phone'].", user, NULL, NULL)";