当我执行以下查询时,它不会更新视图列1,而不是更新它2或3.说当前视图计数是24然后执行此查询后它变为26或有时是27。
$views = $views + 1;
$_SQL = '';
$_SQL = 'UPDATE videos SET views = '.$views.' WHERE VideoId= "'.$videoid.'";';
@mysql_query($_SQL);
我不知道为什么会发生这种情况,我是否遗漏了某些内容或者查询是否自动执行了2次?请帮我弄清楚问题。
由于
答案 0 :(得分:2)
不要存储视图计数,只需让SQL查询增加视图,
$_SQL = 'UPDATE videos SET views = views + 1 WHERE VideoId= "'.$videoid.'";'
答案 1 :(得分:1)
可能在循环中吗?查询仅在发布此代码时执行一次,但此代码是否包含在while / for循环中?如果检查它,然后只需移动
$views = $views + 1;
在循环范围之外。
答案 2 :(得分:0)
您可以尝试在增加它之后打印$ views的值,只是为了查看问题是在PHP代码中还是在SQL查询中。