我有一个代码,它将为mysql datetime增加30分钟。但是这个代码有时只能起作用,这很奇怪!
即。如果我在代码中故意犯了错误并重新纠正错误并在我的浏览器中查看页面,那么它会将30分钟添加到mysql datetime!
我很困惑为什么会这样。
这是我的代码:
<?php
error_reporting(E_ALL);
ini_set('display_errors', '1');
?>
<?php
session_start();
// Run a select query to get my letest 6 items
// Connect to the MySQL database
include "config/connect.php";
$sql = "UPDATE item SET end_date = DATE_ADD(end_date,INTERVAL 30 MINUTE) WHERE id = 1;"
$query = mysqli_query($db_conx, $sql);
?>
答案 0 :(得分:0)
可能但不确定您的浏览器是否正在缓存您尝试下载的页面,因此当您多次点击它时,它并不总是实际调用php程序。
在制作中,通常会调用必须的页面使用POST请求而不是GET请求。你的似乎是这样一个页面;您希望能够控制此查询的运行频率,而不必担心控制路径中的浏览器缓存(以及代理缓存等)等内容。
尝试按shift-reload强制浏览器重新加载页面。这有时会奏效。
您可以尝试将这一堆代码添加到PHP程序的顶部。这个丑陋的垃圾堆尽力打败多种品牌和浏览器模型中的缓存。
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
但是当你投入生产时,不要把这个crapola留在你的程序中。
答案 1 :(得分:0)
我是个天才。我发现问题在于最后错过;
权利。
应该是这样的:
$sql = "UPDATE item SET end_date = DATE_ADD(end_date,INTERVAL 30 MINUTE) WHERE price = 200;";