0

我有一个代码,它将为 mysql 日期时间增加 30 分钟。然而,这段代码有时只能工作,这很奇怪!

即,如果我故意在代码中犯了错误并重新更正错误并在我的浏览器中查看页面,那么它会将 30 分钟添加到 mysql 日期时间!

我很困惑为什么会这样。

这是我的代码:

<?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);

?>
4

2 回答 2

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 留在你的程序中。

于 2013-09-18T00:26:54.803 回答
0

我是个天才。我发现问题出在;最后错过了一个权利。

应该是这样的:

$sql = "UPDATE item SET end_date = DATE_ADD(end_date,INTERVAL 30 MINUTE) WHERE price = 200;";
于 2013-09-18T00:56:55.353 回答