En el supuesto, que un usuario solo podrá comprar uno de cada producto (siempre y para todos los productos).
ALTER TABLE purchase ADD UNIQUE KEY (`UserID`, `Product`); -- run this just once. this changes the table
INSERT IGNORE INTO purchase (UserID, Product, Price) VALUES ('$userID', '$product', '$price');
Tenga en cuenta que esto le impide comprar cualquier producto varias veces, lo que podría no ser el resultado deseado.