SQL语句仅在页面刷新时运行,而不是在初始视图时运行


SQL statement only runs when page is refreshed, not on initial view

所以我在我的网站上附加了一些视图计数器,其中一个将不起作用。它只在页面刷新时更新属性"views",而不是在用户初始加载时更新。这当然是一个问题,因为如果用户每次查看相册时都必须刷新,我就无法跟踪页面浏览量。下面是我的代码:

$sql = "SELECT * FROM albums WHERE path='" . $albumPath . "'";
$result = mysql_query($sql);
while($row = mysql_fetch_assoc($result)){
    $albumName = $row['name'];
    $views = $row['views'];
    $id = $row['id'];
}
$views = intval($views) + 1;
$sql = "UPDATE albums SET views='9' WHERE id='" . $id . "'";
$result = mysql_query($result);

谢谢你的帮助

看起来您的最后一行应该是$result = mysql_query($sql);而不是mysql_query($result)。此外,在你的倒数第二行,你不打算设置视图等于$views而不是9吗?

$sql = "SELECT * FROM albums WHERE path='" . $albumPath . "'";
$result = mysql_query($sql);
while($row = mysql_fetch_assoc($result)){
    $albumName = $row['name'];
    $views = $row['views'];
    $id = $row['id'];
}
$views = intval($views) + 1;
$sql = "UPDATE albums SET views='$views' WHERE id='" . $id . "'";
$result = mysql_query($sql);