0

我在 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'");

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

4

2 回答 2

0

我同意您的代码必须运行两次。仔细检查,并在此代码下方设置回显以发出消息,并查看是否出现两次。

于 2013-08-05T01:54:21.177 回答
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();
于 2013-08-05T01:59:28.560 回答