[英]update query not working (php, mysql)
我正在尝试更新我的数据库中的信息,但它没有更新,我没有收到任何错误。 但是当我使用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());
}
这真的很奇怪,因为我有更新的其他功能,并且它们运行良好。
这看起来像个bug
(`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';";
使用此,但请正确查看我使用单引号,双引号和代字号的位置。 只需用我的变量改变你的变量。
我写了这样的值: '".$var."'
$up = mysql_query("UPDATE signup set `fname`='".$fn."',`lname`='".$ln."',`city`='".$ct."',`uname`='".$un."',`pass`='".$ps."',`eml`='".$ema."',`strm`='".$sm."',`add`='".$ad."' where `id`='".$uid."'") or die(" ".mysql_error());
这在我的php页面中100%有效。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.