PHP中MySQL UPDATE查询的奇怪行为?

时间:2010-03-18 17:14:10

标签: php mysql

当我执行以下查询时,它不会更新视图列1,而不是更新它2或3.说当前视图计数是24然后执行此查询后它变为26或有时是27。

$views = $views + 1;
$_SQL = '';
$_SQL = 'UPDATE videos SET views = '.$views.' WHERE VideoId= "'.$videoid.'";';
@mysql_query($_SQL);

我不知道为什么会发生这种情况,我是否遗漏了某些内容或者查询是否自动执行了2次?请帮我弄清楚问题。

由于

3 个答案:

答案 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查询中。