The Duke of Edinburgh was admitted to hospital last night as a “precautionary measure” for treatment of an infection arising from a pre-existing condition, Buckingham Palace has said.

Philip was supposed to be accompanying the Queen to the State Opening of parliament on Wednesday but his place has been taken by the Prince of Wales.

A Buckingham Palace spokesman said: “The Duke of Edinburgh was admitted to King Edward VII Hospital in London last night, as a precautionary measure, for treatment of an infection arising from a pre-existing condition.

“Prince Philip is in good spirits and is disappointed to be missing the State Opening of Parliament and Royal Ascot.

“The Prince of Wales will accompany the Queen to the State Opening.

“Her Majesty is being kept informed and will attend Royal Ascot as planned this afternoon.”

The Duke of Edinburgh is 96-years-old and recently stepped back from public duties.