Php 如何修改数据库(mysql)并在5分钟后恢复?
我想在用户单击“添加到购物车”按钮时减少一个值(库存产品的数量),并在一段时间后(比如说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分钟,但是,让该函数与用
另外:我使用PHP jquery和ajax。
您可以使用
PDO
(PHP与MySQL的通信)。一个这样的例子是使用准备好的语句来降低数据库中的值,以提高性能(当然还有安全性):
然后,因为您已经准备好了语句,所以可以按如下方式还原该值(无需重新声明整个sql语句)
如果希望第二个脚本在5分钟后执行,可以实现一个延迟为5分钟的队列系统。还有一些函数可以用于睡眠5分钟,但是,让该函数与用户在同一页面上运行是非常不现实的(除非您计划在单独的脚本中使用它),因为用户实际上必须在同一页面上等待5分钟。将值保存在文件(或差异表)上并使用cronjob来恢复它。对不起,我不明白你的意思,你能更具体一点吗?(举个例子就可以了),谢谢<代码>更新表格集col_x=col_x-1,其中col_y='z'和date
$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();