我的代码是:
echo $sql = "SELECT MAX(version) as version FROM stats";
$result = mysql_query($sql);
$rr=mysql_fetch_array($result);
$v = $rr["version"];
问题是:第一次运行时一切正常。设$v = 10
;
但是,当version
字段被其他来源更新时,它不改变。我可以把它增加到12,我在数据库中看到它是12。通过运行这个php脚本,它总是将$v
设置为"10"。为什么呢?
在这段代码中,您总是显示您的查询(您在开头有echo)。
我认为只有两个选择:
-
使用某种类型的PHP缓存。如果您这样做,您可能不会看到
SELECT MAX(version) as version FROM stats
每次刷新页面 -
你不显示$v值后,这段代码正在执行。例如,
$v
变量经常在循环中使用,所以你很有可能在代码的其他部分改变它的值,这就是为什么它总是10。
所以你应该做的是:
echo $sql = "SELECT MAX(version) as version FROM stats";
$result = mysql_query($sql);
$rr=mysql_fetch_array($result);
$v = $rr["version"];
echo $v;
确保每次刷新页面时都能看到消息。如果没有显示,则表示您使用了缓存,否则您应该在这里看到正确的值。
当然,你也不应该再使用mysql
函数了,因为mysql扩展已经被弃用了。你应该使用mysqli或PDO。