En supposant qu'un utilisateur ne peut acheter qu'un seul produit de chaque produit (toujours et pour tous les produits).
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');
Sachez que cela l'empêche alors d'acheter un produit plusieurs fois, ce qui pourrait ne pas être le résultat souhaité.