2010-11-29 42 views
0

我试图让我的网站视图计数器,但对于一些奇怪的原因,一旦它计算的第一个视图不上去了观点计数器,不太工作

这里是代码

$checkViews = "SELECT COUNT (counter) FROM pageViews WHERE chapterID = '".$_GET["chapterNo"]."'"; 
$result=getQuery($checkViews,$l); 
if($result == 0) 
{ 
$viewupdate = "INSERT INTO pageViews (chapterID, counter) VALUES ('".$_GET["chapterNo"]."', 1)"; 
$result=getQuery($viewupdate,$l); 
} 
else if ($result != 0) 
{ 
$viewUpdate = "UPDATE pageViews SET counter = counter++ WHERE chapterID = '".$_GET["chapterNo"]."'"; 
$result=getQuery($viewUpdate,$l); 
} 

回答

0

有在MySQL没有++运算符一样有在PHP或C++,所以增加与计数器值与计数器=计数+ 1

如果您想让代码更加简化,请考虑UPDATE ON DUPLICATE KEY。如果你插入一个新的柜台到数据库

$viewupdate = "INSERT INTO pageViews (chapterID, counter) VALUES ('".$_GET["chapterNo"]."', 1) 
    ON DUPLICATE KEY UPDATE counter = counter + 1"; 

这将插入1作为计数器值:此语法将插入一个新的价值,如果你提供的关键是独一无二的,如果更新的重点是已在使用查看第一个视图的章节,否则将该柜台增加一个。您不必做任何检查或附加查询。

0

更改counter++counter+1在您的更新SQL。

此外,您的查询似乎是开放的SQL注入..

+0

试过,没有任何工作 – dbomb101 2010-11-29 19:13:36