PHP MySQL UPDATE和SUBTRACT

时间:2013-08-05 01:39:01

标签: php mysql

我在PHP上有这个查询:

mysql_query("UPDATE ead_modulos SET slides = slides - 1 WHERE id_modulo = '$id_modulo';");

每次我运行它时,它会从幻灯片中减去2,所以如果我有2张幻灯片并且我运行此代码一次,它将以0张幻灯片结束。

我在此查询中添加了一个输出,以检查它是否正在执行2次,而不是,代码运行一次并减去2,任何人都可以帮忙吗?

编辑:我有这个其他查询,在添加幻灯片时效果很好。

mysql_query("UPDATE ead_modulos SET slides = slides + 1 WHERE id_modulo = '$id_modulo'");

edit2:我在一个只有数据库连接的空白页面上尝试了查询,它运行得很好,所以问题是,代码运行了2次,我完全不知道为什么会这样做,当我添加幻灯片,它工作正常,当我删除幻灯片时,它就像页面加载两次并执行代码两次。

2 个答案:

答案 0 :(得分:0)

我同意你的代码必须运行两次。仔细检查它,并在此代码下面设置一个回显来发出消息,看看是否有两次。

答案 1 :(得分:0)

是的,您的代码可能会运行两次。要进行测试,请将查询更改为+,并查看在运行代码时是否会添加两个。

  

mysql_query(“UPDATE ead_modulos SET slides = slides - 1 WHERE   id_modulo ='$ id_modulo';“);

  

mysql_query(“UPDATE ead_modulos SET slides = slides + 1 WHERE   id_modulo ='$ id_modulo';“);

仅供测试..

也试试这个:

mysql_query("UPDATE ead_modulos SET slides = slides - 1 WHERE id_modulo = '$id_modulo';");
exit();