php - 更新查询不起作用(php、mysql)

标签 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());
}

这真的很奇怪,因为我更新了其他功能并且它们运行良好。

最佳答案

这看起来像是一个错误

(`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/

相关文章:

php - 如何使用php向mysql数据库插入多行,增加1行

mysql - 建议一个 MySQL 查询

php - MySQL JOIN 具有 COUNT 性能

php - 我如何从mysql中获取第n行的值?

php - 在双引号或单引号中打印 HTML 和 PHP 代码

php - 从选择的 field1 插入到 field1,field2,field2 仅填充 1 个字段

php - 使用暂停逻辑 mysql TIMEDIFF() 和 PHP 耗时

php - mysql 检查最后 x 个帖子的用户 ID

php - 在我的数据库和 html 上转换相同的日期

mysql - 如何在多行的单列中插入值?