Adquira o hábito de escapar de todas as entradas do banco de dados com mysql_real_escape_string - realmente, você deve usar algum tipo de wrapper como PDO ou ADODb para ajudá-lo a fazer isso, mas veja como você pode fazer isso sem:
$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);
e também verifique se há erros com mysql_error
if (!$result)
{
echo "Error in $query: ".mysql_error();
}