为什么我的PHP页面视图跟踪器不工作


Why Is My PHP Page View Tracker Not Working

我有一个简单的页面视图跟踪器,它使用PHP和MySQL的组合来记录页面刷新的次数。没有复杂的cookie,我只需要知道发生的原始数字刷新。

看起来是这样的。。。

$link = mysql_connect('**********', '*********', '***********');
if (!$link)
{
    die('Could not connect: ' . mysql_error());
}
mysql_select_db("**********", $link);
$query = mysql_query("select value from settings where title like 'search_number'");
$result = mysql_fetch_array($query);
$search_number = $result["value"];
$new_search_number = $search_number + 1;
mysql_query("update settings set value='$new_search_number' where title like 'search_number'");

这段代码似乎适用于我能够运行的所有测试,但在实时网站上,它返回的数字高得离谱。根据雅虎的数据,我们平均每天查询400-500次,"我们使用搜索老板",但页面跟踪器每天报告8900+次查询。谷歌分析证实了雅虎的数字。我不认为这段代码会因为它的简单性而失败。我希望有人能对正在发生的事情有所了解。

机器人会比你想象的更频繁地出现在你的页面上。您可以与服务器日志进行比较,我怀疑您会看到对页面的许多请求。

此外,Google Analytics在客户端工作,需要JavaScript,并且并不总是运行。据预测,这将占页面浏览量的10%左右。不过,最大的区别是谷歌分析过滤掉了机器人的大量随机点击,因为几乎没有任何机器人运行分析代码。

另一方面,您进行查询的方式有点不稳定。我建议学习如何使用PDO进行准备好的查询,以避免SQL注入攻击。

在MySQL中直接更新值,否则并发脚本将覆盖其他值:

mysql_query("update settings set value=value + 1 where title like 'search_number'");