Вы не указали ни одного из значений в вашей INSERT, вы должны сказать что-то вроде этого:
$query = "INSERT INTO accounts (FirstName, LastName, Email, Username, Password, LastLoginDate) VALUES ('". $firstname . "','". $lastname ."','" . $email . "','" . $username . "','" . $password . "','" . $date . "')";
Вы также должны использовать mysql_real_escape_string
на всехэти переменные, чтобы убедиться, что все встроенные кавычки и тому подобное правильно закодированы.
Лучшая версия будет выглядеть примерно так:
$query = sprintf("INSERT INTO accounts (FirstName, LastName, Email, Username, Password, LastLoginDate) VALUES ('%s', '%s', '%s', '%s', '%s', '%s')",
mysql_real_escape_string($firstname),
mysql_real_escape_string($lastname),
mysql_real_escape_string($email),
mysql_real_escape_string($username),
mysql_real_escape_string($password),
mysql_real_escape_string($date));
Вы также должны слушать BoltClock и использовать PDO и заполнители, так что вам не нужно беспокоиться о ваших цитатах и избегать так много.PDO также облегчит переключение баз данных.