En principio, no parece haber errores visibles en la query, pero a mi entender no estás validando si realmente la consulta se ejecuta correctamente.
Yo lo plantearía así:
Código PHP:
Ver original<?php
$tipo = $_POST["tipo"];
$modelo = $_POST["modelo"];
$query = "SELECT * FROM `base`.`tabla` "
$query .= "WHERE `tipo`='$tipo' and `modelo`='$modelo'";
if (!$result){
}
else
{
{
$qry = "UPDATE `tabla` SET `cantidad` = `cantidad`-1 ";
$qry .= "WHERE `tipo`='$tipo' and `modelo` = '$modelo'";
if(!$qry)
else {echo "Valor actualizado";}
}
else
{echo "tipo y modelo no encontrados";}
}
?>
Puede que haya algún defecto en el código, pero mas o menos esa es la idea.