The way you have done it seems correct. That is why I was wondering if the session variable was set correctly to begin with or if the recordset returned the rows you expected it to.
So if you open up phpMyAdmin and run the SQL statement:
SELECT products.item_id, products.item_name, products.base_charge, products.per_flat_price, products.meta_description, rtm_companies.item_id, rtm_companies.flats FROM products INNER JOIN rtm_companies ON products.item_id = rtm_companies.item_id WHERE rtm_companies.members_id = 1
does it give the correct result?
If you write the session variable value to the page:
<?php echo("sessionvalue:".$_SESSION['members_id']); ?>
Does it have the value you were expecting? I'm wondering if the problem is with the login and not this page at all.