您没有将数据库中的计数分配给变量,而只是增加一个新变量(这应该会引发错误 - 注意:未定义的变量:计数... - 您是否禁用了错误检查?)而没有实际分配您的数据库值. 因此为什么你总是得到 1 - 你正在创建一个新的值 0 并在每次刷新时向它添加 1。
你需要 -
$row = mysql_fetch_row($result);
$count = $row[0];
$count++;
注意我建议您不要在数据库中使用 count 作为字段名称,因为它在 MySQL 和 PHP 中都是保留字。它可能会导致意外错误/输出。试着看看这个线程。
试试这个(假设你有 PDO 和你的连接声明),因为已经指出你使用的逻辑与你的查询有问题。
function updateCount() {
# Update count
$queryUpdate = $db->prepare('UPDATE hits SET hitcount = hitcount + 1');
$queryUpdate->execute();
# Get the updated count value
$queryCount = $dbo->('SELECT hitcount FROM hits');
$queryCount->execute();
# Check that a result is returned and assign result
if ($result = $queryCount->fetch(PDO::FETCH_OBJ) {
return $result->hitcount;
}
}
# Echo returned value
$value = updateCount();
echo $value;