Skutecznie umieściłeś swoje echo
oświadczenie po pętli:
while($row = mysqli_fetch_array($result));
^ this is the problem
echo $row['price'];
... to to samo co:
while($row = mysqli_fetch_array($result)) {}
echo $row['price'];
A po pętli $row
będzie false
więc nic nie zostanie powtórzone.
Chcesz:
while($row = mysqli_fetch_array($result))
echo $row['price'];
lub (lepiej, ponieważ pozwoli uniknąć tego rodzaju błędów...):
while($row = mysqli_fetch_array($result)) {
echo $row['price'];
}
Powinieneś użyć przygotowanego oświadczenia, aby uniknąć problemu z wstrzykiwaniem sql, który masz teraz.