Hi Jacob,
the query for creating the database would be
create table login
`name` varchar(255),
`user` varchar(255),
`pass` varchar(255),
`birthday` date;
Please consider encrypting the password using MySQL function PASSWORD(). If your site gets hacked you won't compromise your users passwords. (It will be enough that the hacker gets their e-mails.)
I'm confused by the latest query. It uses a field 'username' but you ask for 'user'.
Also, the WHERE clause contains a hard coded value, I guess you were just testing.
I'm not sure if you know that UPDATE is for changing an existing record. INSERT is for creating a new one. If this is a 'register new account' kind of form then you want to use INSERT and not UPDATE here.
I don't see where you combine
$update_mybirthmonth, $update_mybirthday and $update_mybirthyear into $birthday.
I guess you wanted to write something like
$birthday = $update_mybirthyear.'-'.$update_mybirthmonth.'-'.$update_mybirthday;
Instead of the sequence of >=1 <= 31 (which doesn't take into account variability of number of days per month), try PHP function checkdate().
The gender select box has a wrong name. It's called update_mybirthmonth which eventually overwrites the previous select box' value.