Prenez l'habitude d'échapper à toutes les entrées de la base de données avec mysql_real_escape_string - vraiment, vous devriez utiliser une sorte de wrapper comme PDO ou ADODb pour vous aider à le faire, mais voici comment vous pourriez vous en passer :
$query = sprintf("INSERT INTO users ".
"(id, first_name, second_name, register_date, lastlogin_date)".
"VALUES('%s','%s','%s','%s','%s')",
mysql_real_escape_string($user_id),
mysql_real_escape_string($first_name),
mysql_real_escape_string($second_name),
mysql_real_escape_string($date),
mysql_real_escape_string($date));
$result = mysql_query($query);
et aussi vérifier les erreurs avec mysql_error
if (!$result)
{
echo "Error in $query: ".mysql_error();
}