我正在尝试更新我的数据库中的信息,但它没有更新,而且我没有收到任何错误。但是,当我使用 MySQL 查询浏览器执行查询时,它可以正常工作并且信息会正确更新。
function cancelaDetalleOrden($id_orden,$id_pos,$id_componente)
{
conectar();
$cancelado= "Cancelado";
$terminado= "Terminado";
echo $id_orden." ".$id_pos." ".$id_componente;//to check if data is retrieved
$query ="UPDATE procesos_orden
SET `status` = '$cancelado'
WHERE (`status` != '$terminado') = '1'
AND `id_orden` = '$id_orden'
AND `id_posicion` = '$id_pos'
AND `id_componente` = '$id_componente';";
mysql_query($query)or die("Error ".mysql_error());
}
这真的很奇怪,因为我更新了其他功能并且它们运行良好。
最佳答案
这看起来像是一个错误
(`status` != '$terminado')= '1'
没有 =1 我怀疑是你想做的。
(`status` != '$terminado')
如果它仍然不起作用并且没有给出错误,那么你有一个逻辑错误。
这是修复它的方法。
运行此查询并查看您正在更新哪些记录。
"SELECT * FROM procesos_orden
WHERE (`status` != '$terminado')= '1'
AND `id_orden` = '$orden'
AND `id_posicion` = '$id_pos'
AND `id_componente` = '$id_componente';";
关于php - 更新查询不起作用(php、mysql),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6444342/