我尝试完成点击计数器。我的代码有什么问题?它不计算链接上的点击量。
<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请帮帮我
答案 0 :(得分:1)
您不想读取当前的匹配值并在PHP中增加它,然后尝试将其保存回数据库。让数据库服务器在一个SQL查询中完成所有工作,只需单独更新查询:
$insertSQL = "UPDATE store SET hits = hits+1 WHERE id = '$id'";
mysql_query($insertSQL);
否则,您最终可能会失去一些点击次数。您还应考虑转移到PDO或mysqli_
,而不是使用已弃用的mysql_
函数。
我认为问题在于为此
定义GET<?= $store->id ?>
在这种情况下将其更改为<?php echo $store->id; ?>
。
答案 1 :(得分:0)
首先,请勿使用mysql_*
个功能,而是弃用PDO
或mysqli_*
。
https://secure.php.net/manual/en/book.mysqli.php
其次,清理您的输入以避免SQL注入攻击。您可以使用mysqli->prepare
和bind_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."'";