Actually, the reason is obvious:
SELECT * from members-profile-info where username = '$uname'"
MySQL will read that supposed table name as
members MINUS profile MINUS info
YOU CAN NOT USE A MINUS SIGN IN THE MIDDLE OF A NAME!
Well, fortunately, with MySQL, you can.
But if you do so, you *MUST* then tell MySQL that you are using a non-standard name by enclosing the entire name in back ticks (the ` character...shares a key with ~ normally).
mysql_query("SELECT * from `members-profile-info` where username = '$uname'")
or die( mysql_error() );
Incidentally, you don't show the rest of your PHP page, but almost surely you have goofed by making two separate queries in the code you showed us, insted of using a single query that JOINs the two tables.