....
....
.....
Olá, Ivan.
PHP não é meu forte, mas se me lembro bem do pouco que vi, acredito que esse ponto e virgula no final da declaração da variável era necessário já que só assim o interpretador sabe que aquele é o final da declaração e só é omitida quando temos um ?> para demonstrar que aquele é o final da instrução. Note que ele aponta um erro na declaração do $query pois o $preco não foi fechado.
Espero ter ajudado :)