MySQL UPDATE查询 - 处理空输入

This is my first UPDATE query, I have checked using jQuery for any empty fields. I want the user to input at least one field and then update the field(s). Doing a query with all the $_POST names might generate empty or undefined input fields in my database which doesn't work.. here is my query:

$first = $_POST['first'];
$last = $_POST['last'];
$birth = $_POST['birth'];
$bio = $_POST['bio'];

$UID = $_SESSION['id'];

$query = "UPDATE `user` SET `firstname`=$first,`lastname`=$last,`birthday`=$birth,`biography`=$bio WHERE `user_id` = '$UID'";
$result = mysql_query($query) or die($result . "<br/><br/>" . mysql_error());

The error: syntax to use near 'birthday=,biography= WHERE user_id = '11'' at line 1

I don't want to go through nested if's to check whether has a value or not. Thanks.

NOTE: Use mysql_real_escape_string() to prevent from sql injection.

if( !empty($first) && 
    !empty($last) && 
    !empty($birth) && 
    !empty($bio) ){

$query = "UPDATE `user` 
             SET 
               `firstname`='$first',
               `lastname`='$last',
               `birthday`='$birth', 
               `biography`='$bio' 
           WHERE `user_id` = '$UID'";
}