我正在尝试在php中创建一个计数器,以查看有多少人登陆页面。
<?php
$update = "UPDATE `users` SET `views`='$views[$index]' WHERE `email`='$email[$index]'";
$views[$index] = $views[$index] + 1;
if (mysql_query($update)){
echo $views[$index];}
?>
答案 0 :(得分:0)
很难说出究竟是什么问题,但我假设这个数字没有增加。我相信你的SQL不正确。
您是否尝试过与this question中指定类似的内容?
尝试这样的SQL:
UPDATE `users` SET `views` = `views` + 1 WHERE `email`=".$email[$index]."`";
虽然,请注意我的代码和代码都容易受到潜在的SQL注入攻击(取决于你获得$ email变量的位置,在你的情况下可能没问题)。试一试,看看它是否有效。
答案 1 :(得分:0)
我猜您正在从代码中的数据库中读取数据。
正如你所看到的那样$ views [$ index&#39;]不会被正确解释所以我把它放到了本地标量$ vcnt
如果仍有问题,额外的调试行应该显示它是什么
<?php
$views[$index]++;
$vcnt=$views[$index];
$emailadr=$email[$index];
$update = "UPDATE `users` SET `views`='$vcnt' WHERE `email`='$emailadr'";
if (mysql_query($update)){ echo "ok: $vcnt";}
else { echo "error: $vcnt : $update";}
?>