Well, right off the bat you don't need to concatenate the query.... you can put linebreaks in the query like so:
$query_update = "UPDATE user SET
first_name = '" . $_POST['first_name'] . "',
last_name = '" . $_POST['last_name'] . "',
address1 = '" . $_POST['address1'] . "',
address2 = '" . $_POST['address2'] . "',
city = '" . $_POST['city'] . "',
postcode = '" . $_POST['postcode'] . "',
WHERE username = '" . $_SESSION['username'] ."'";
Second off... a stray comma is after the postcode clause. So if you remove it to have it look like:
$query_update = "UPDATE user SET
first_name = '" . $_POST['first_name'] . "',
last_name = '" . $_POST['last_name'] . "',
address1 = '" . $_POST['address1'] . "',
address2 = '" . $_POST['address2'] . "',
city = '" . $_POST['city'] . "',
postcode = '" . $_POST['postcode'] . "'
WHERE username = '" . $_SESSION['username'] ."'";
That should solve your issues.