I did check for some advice on legal forums about whether a business has to sell at the price advertised but unfortunately this doesn't help:
Not necessarily, no. There is a 'palpable error' clause in UK law which says that a business does not have to honour prices falsely advertised as a result of gross error or sabotage. For instance if something was meant to cost £199, but due to a printing error was advertised as costing £1.99 - in such a situation a business can claim a palpable error. If there is no evidence that a communication error was made, they have to honour that price or refuse the sale completely, a failure to do one of the two wil put them in violation of the trade descriptions act - unless fineprint specifies otherwise (which it often does, ie it'll often say something like 'prices are a guide, we reserve the right to determine price at time of purchase').
In the UK NO. Everything that is for sale in legal terms is called "an invitation to treat". Shops do not have to sell things at the advertised price, the price may have been changed maliciously, either by the person buying it or an accomplice working in the shop.