Optimise and merge SELECT query results from 2 tables
Try this:

SELECT u.user_id,
       u.user_name,
       u.user_email,
       u.user_password_hash,
       fn.meta_value,
       ln.meta_value
FROM   `users` AS u LEFT JOIN `usermeta` AS fn ON u.user_id = fn.user_id
                    LEFT JOIN `usermeta` AS ln ON u.user_id = ln.user_id
WHERE  u.user_name = 'demo'
AND    fn.meta_key = 'first_name'
AND    ln.meta_key = 'last_name'
LIMIT  1