I don't like your class naming much. You call it a Product but it is in fact a ProductCollection or similar. In fact it is tied to a particular kind of ProductCollection an OpenProductCollection or OpenProducts if you prefer.
What if you wanted ClosedProducts or some other status as may have been set in product_status in your db?
$pc = new ProductsCollection('open');
Your use of 'SELECT * FROM product ...' when you only want name
also seems wasteful, or would if each product had 100 fields .... we don't know how many fields you have.
So you might want to do the equivalent of:
$pc = new ProductsCollection;
$pc->set_fields(array('id', 'name'));
$pc->get_status_open(); // return your array
You could look at using magic __get and __set as another way to get round this, otherwise you could tightly tie your class to your table with get_name, get_price, get_manufacturer and so on.
Regarding the remarks about mysql_* functions if you move to either mysqli or PDO you can also SELECT into an OBJECT, so your result set could be an array of pre-filled Product objects. (ie a Product class you write which represents a single product).
HTH