Sie sollten den Fremdschlüssel explizit unter den Spaltendefinitionen definieren.
Sie sollten product_id auch unsigniert machen, da der übergeordnete Schlüssel unsigniert ist:
CREATE TABLE orders (
id integer PRIMARY KEY auto_increment,
product_id integer unsigned,
quantity integer,
INDEX product_id_idx (product_id),
CONSTRAINT FK_ORDER_TO_PRODUCT FOREIGN KEY (product_id) REFERENCES products (id)
) engine=innodb;