我的代码是:
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”。那是为什么?
答案 0 :(得分:1)
在此代码中,您始终显示您的查询(您在开头有回声)。
在我看来,只有两个选择:
您使用某种类型的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 extendsion。你应该使用mysqli或PDO。