计数点击并更新Mysql

时间:2015-07-17 20:27:31

标签: php

我尝试完成点击计数器。我的代码有什么问题?它不计算链接上的点击量。

<a href="http://mp3-musicon.de/mp3_download/download_window_youtube_mobil.php?song_id=<?= $store->id ?>"><?= $store->artist .' - '. $store->song ?></a>

链接

<?= $store->id ?>

我认为问题在于为此{{1}}

定义GET

请帮帮我

2 个答案:

答案 0 :(得分:1)

您不想读取当前的匹配值并在PHP中增加它,然后尝试将其保存回数据库。让数据库服务器在一个SQL查询中完成所有工作,只需单独更新查询:

$insertSQL      =   "UPDATE store SET hits = hits+1 WHERE id = '$id'";
mysql_query($insertSQL);

否则,您最终可能会失去一些点击次数。您还应考虑转移到PDO或mysqli_,而不是使用已弃用的mysql_函数。

  

我认为问题在于为此<?= $store->id ?>

定义GET

在这种情况下将其更改为<?php echo $store->id; ?>

答案 1 :(得分:0)

首先,请勿使用mysql_*个功能,而是弃用PDOmysqli_*

https://secure.php.net/manual/en/book.mysqli.php

其次,清理您的输入以避免SQL注入攻击。您可以使用mysqli->preparebind_param

https://secure.php.net/manual/en/mysqli.prepare.php https://secure.php.net/manual/en/mysqli-stmt.bind-param.php

然后直接在数据库级别更新,而不是检索它然后更新。这样的事情应该有效:

"UPDATE store SET hits=hits+1 WHERE id = '".$id."'";