Vous avez effectivement mis votre echo
instruction après la boucle :
while($row = mysqli_fetch_array($result));
^ this is the problem
echo $row['price'];
... est identique à :
while($row = mysqli_fetch_array($result)) {}
echo $row['price'];
Et après la boucle $row
sera false
donc rien ne sera renvoyé en écho.
Vous voulez :
while($row = mysqli_fetch_array($result))
echo $row['price'];
ou (mieux car cela évitera ce genre d'erreurs...) :
while($row = mysqli_fetch_array($result)) {
echo $row['price'];
}
Et vous devriez utiliser une instruction préparée pour éviter le problème d'injection SQL que vous avez maintenant.