I think what you meant to write was:
SELECT tra_users.fname,tra_userpic.picname FROM tra_users,tra_userpic WHERE tra_users.user_id=$user_id and tra_userpic.user_id=$user_id;
And that should work for what you want to do.
FYI, this isn't technically a table join. But that's ok because you don't need a table join for what you're trying to do. You want to select two fields out of two tables and you're doing that. A table join has more to do with the relationships between tables and data in one table being used to match rows in another table.
For example, A true table join is more like this: Imagine you know the customer's FIRST NAME in a variable called $first_name. You use that to find out the customer's ID in one table and then you use that information to find their picture in the other table like this:
SELECT tra_userpic.picname FROM tra_users,tra_userpic WHERE tra_users.fname = '$first_name' and tra_users.user_id = tra_userpic.user_id