【发布时间】:2015-11-04 04:59:06
【问题描述】:
我有一个名为 Stats 的表。 Stats 有 4 列:id、ip、count 和 date。 count 是该 ip 点击我网站上的广告的点击次数。每次用户点击广告时,他们的计数将增加 1。如何将他们的计数增加 1 并在数据库中更新?这是我的代码,由于某种原因它不起作用。当我单击 div 时,它不会刷新......所以整个代码块都没有执行。请注意,当他们进入我的网站时,我已经捕获了用户的 ip,这是如果他们点击我的广告,计数会增加并在数据库中更新的部分。
<script>
$(document).ready(function()
{
$("#ad").click(function()
{
<?php
$queryTot = "SELECT `count` AS total FROM Stats WHERE ip = '$ip'";
$resultTot = $db->query($queryTot);
$data = $resultTot->fetch_assoc();
$count = $data["total"] + 1;
$insert = $db->prepare("UPDATE Stats(count) WHERE ip = '$ip' VALUES(?)");
$insert->bind_param('i', $count);
$insert->execute();
$insert->close();
?>
location.reload();
})
})
</script>
【问题讨论】:
-
你使用准备好的 stmts 很好。但你还是不及格。所有变量都应参数化,包括 IP。
-
哇哦,从哪里开始?我可以先说混合 php 和 javascript 是不好的做法。但是,不仅如此.. 你的代码不会像它写的那样工作。改为使用 AJAX 请求在后台更新数据库。
-
我还不得不说这个问题可能与Basic PHP and AJAX重复