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

时间:2016-05-24 00:31:42

标签: php jquery mysql ajax e-commerce

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

1 个答案:

答案 0 :(得分:0)

您可以使用PDO(与MySQL进行php通信)。其中一个例子是使用准备好的声明来降低数据库中的值,以提高性能(当然还有安全性):

$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();

然后,由于您已经准备好了语句,因此可以按如下方式恢复此值(无需重新声明整个sql语句)

$stmt->bindParam(':quantity', -$quantity);
$stmt->bindParam(':id', $id);
$stmt->execute();

如果您希望第二个脚本在5分钟后发生,那么您可以实施一个延迟时间为5分钟的队列系统。还有一些功能可以用来休眠5分钟,但是让这个功能在与用户相同的页面上运行是非常不切实际的(除非你计划在一个单独的脚本中使用它),因为用户真的会有在同一页上等待5分钟。