繁体   English   中英

更新查询无法正常工作(php,mysql)

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM