我正在使用优惠券代码网站,它有一个产品部分。我不想每次访问者加载页面时都从购物网站的API服务器中提取数据,而是希望将数据存储在SQL中并使用它。 但是数据应该每小时更新一次,或者仅在经过一个小时后才更新。 不需要cron作业,因为我不想自动发生。 如果一个小时内有100个网页用户,他们将获得相同的数据,但是如果第一个用户在1小时后到达,则应该用SQL覆盖产品信息。
我从w3schools.com获得了以下代码,它可以很好地在SQL中保存数据。 我希望只有当数据的时间超过1小时时,它才能帮助我覆盖数据。否则,它应充当“数据已存在”的角色。
<?php
$servername = "localhost";
$username = "nuser";
$password = "pass";
$dbname = "db";
$ProductId = "smartphone";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$check=mysqli_query($conn,"select * from testdb where productid='$ProductId'");
$checkrows=mysqli_num_rows($check);
if($checkrows>0) {
echo "Data Already Exists";
} else {
//insert results from the form input
$sql = "INSERT INTO Flipkart (productid, title, price)
VALUES ('productid','title','price')";
if ($conn->query($sql) === TRUE) {
echo "New record created successfully";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
$conn->close();}
?>
以上代码将数据保存在数据库中,它还可以检测重复数据。但是我只想添加一个函数,如果当前数据时间超过1小时,它将覆盖数据。数据库具有TIMESTAMP“ reg_date”列,该列以YYYY-MM-DD HH:MM:SS格式存储创建的日期和时间。
我是SQL和php的新手,所以请问如果这个问题有任何问题...
答案 0 :(得分:0)
您可以使用cron作业。
这是到目前为止为cron作业找到的PHP代码的最佳解释: https://code.tutsplus.com/tutorials/managing-cron-jobs-with-php--net-19428