Php 如何修改数据库(mysql)并在5分钟后恢复?

Php 如何修改数据库(mysql)并在5分钟后恢复?,php,jquery,mysql,ajax,e-commerce,Php,Jquery,Mysql,Ajax,E Commerce,我想在用户单击“添加到购物车”按钮时减少一个值(库存产品的数量),并在一段时间后(比如说5分钟)将该值恢复到初始值? 另外:我使用PHP jquery和ajax。您可以使用PDO(PHP与MySQL的通信)。一个这样的例子是使用准备好的语句来降低数据库中的值,以提高性能(当然还有安全性): 然后,因为您已经准备好了语句,所以可以按如下方式还原该值(无需重新声明整个sql语句) 如果希望第二个脚本在5分钟后执行,可以实现一个延迟为5分钟的队列系统。还有一些函数可以用于睡眠5分钟,但是,让该函数与用

我想在用户单击“添加到购物车”按钮时减少一个值(库存产品的数量),并在一段时间后(比如说5分钟)将该值恢复到初始值?
另外:我使用PHP jquery和ajax。

您可以使用

PDO
(PHP与MySQL的通信)。一个这样的例子是使用准备好的语句来降低数据库中的值,以提高性能(当然还有安全性):

然后,因为您已经准备好了语句,所以可以按如下方式还原该值(无需重新声明整个sql语句)


如果希望第二个脚本在5分钟后执行,可以实现一个延迟为5分钟的队列系统。还有一些函数可以用于睡眠5分钟,但是,让该函数与用户在同一页面上运行是非常不现实的(除非您计划在单独的脚本中使用它),因为用户实际上必须在同一页面上等待5分钟。

将值保存在文件(或差异表)上并使用cronjob来恢复它。对不起,我不明白你的意思,你能更具体一点吗?(举个例子就可以了),谢谢<代码>更新表格集col_x=col_x-1,其中col_y='z'和date-应该这样做。@PedroLobito lol我在运行时就输入了这个。“把这个作为答案只会打开一大罐你们知道的东西。”佩德罗洛比托然而,如果塔里克也这么想,那么我会的。谢谢你的提议;-)这是一个好主意,但整个等待部分并不那么实际,事实上我愿意让这个“5分钟”在后台进行,而客户仍然在我的网站上,做任何他想做的事情,一旦他去那里超过5分钟,价值观就会改变…@TarikKaoukab是的,正如我所说,让人等待是不现实的,这就是为什么队列系统可能是实用的。我不确定你们在开发项目上投入了多少时间和精力,所以我只是向你们介绍一些人们实施“等待”计划的方法。关于代码,由于SQL的速度非常快,所以它现在几乎是标准的。哦,如果我的答案对你有用,请用绿色的复选标记接受它,以便未来的用户知道它对你有用。
$sql = "UPDATE myTable SET number_of_products = number_of_products - :quantity WHERE product_id = :id";
$stmt = $conn->prepare($sql);
$stmt->bindParam(':quantity', $quantity);
$stmt->bindParam(':id', $id);
$stmt->execute();
$stmt->bindParam(':quantity', -$quantity);
$stmt->bindParam(':id', $id);
$stmt->execute();