The Duke of Edinburgh has been taken to hospital with a bladder infection, Buckingham Palace says.
Prince Philip, who is 90, has been taken to the King Edward VII Hospital in London from Windsor Castle as a “precautionary measure”.
He will remain in hospital under observation for a few days, a palace spokeswoman said.
He will miss the Diamond Jubilee concert due to be held at the palace and being attended by 12,000 people.
He will also miss the national service of thanksgiving at St Paul’s Cathedral on Monday.
This was due to be followed by two receptions, a lunch at Westminster Hall and a carriage procession to Buckingham Palace, with a balcony appearance by the Queen and a fly-past.
The prince had treatment for a blocked coronary artery in December.