Insisto en una cosa: ¿para qué lees el saldo?
Si el valor del importe a restar ya lo tienes, el saldo deberías actualizarlo, no necesitas leerlo a menos que vayas a validar saldos negativos...
Otra cosa es que acá, en tu script, no estás haciendo el update, Sólo lo estás poniendo en una variable sin ejecutarlo.
O no nos estás poniendo toda la lógica del script como para entender lo que hace, o no estás haciendo nada...
Código PHP:
Ver original<?php
// No muestras de donde sale "$resultado"
if ($resultado) {
// Esto solo mostraria en pantalla la query creada
echo $resultado = "UPDATE usuarios set saldo =$saldo - '$precio' where id_usuario='$id_usuario'";
}else{
// si la variable $resultado aún nos e inicializó, siempre te va a mostrar este mensaje.
echo 'no tiene saldo';
}
?>