我正在开发一个包含图片库的项目。现在我想将点击次数/计数值存储到我的数据库中(在MySQL中开发)。我试图以自己的方式做到这一点,但问题是所有图像的计数/点击值都以相同的值存储在数据库中。
下面给出的代码位于 main.php 文件中,该文件显示从数据库中检索的图像。 picture.php 是从数据库中检索图像的图像。我已附加代码以计算 picture.php 中的点击次数,以便在点击图片时计算。
main.php
$query="SELECT * FROM files";
$result=mysql_query($query) or die(mysql_error());
while($fetch=mysql_fetch_array($result)){
echo "<div class=single>
<div class=wrap>
<a href=picture.php?fid=".$offer_id.">
<img src=picture.php?fid=".$offer_id."\">
</a>
</div>
</div>";
}
picture.php
if(isset($_GET['fid']))
{
include "connect.php";
$fid=$_GET['fid'];
$query="SELECT * FROM offers_em WHERE o_id =$fid";
$result=mysql_query($query) or die(mysql_error());
$sql="UPDATE offers_em SET count+=1 WHERE o_id=".$fid;
$sql2=mysql_query($sql);
$name=mysql_result($result,0,"pic_name");
$size=mysql_result($result,0,"size");
$type=mysql_result($result,0,"type");
$content=mysql_result($result,0,"content");
header("Content-Disposition: attachment; filename=$name");
header("Content-length: $size");
header("Content-type: $type");
echo $content;
}
else{
die("No file ID given...");
}
答案 0 :(得分:0)
我不确定MySQL是否支持“+ =”,请尝试
SET count = count + 1
编辑:无论如何,都要考虑对注入漏洞进行排序,如帖子下面的评论所述。
答案 1 :(得分:0)
它与SQL注入无关。
问题是我在循环中调用链接,因此所有点击值都会更新。所以我创建了一个不同的 count_link.php 文件,它只会在调用时调用用户单击图像链接。
$query="SELECT * FROM files";
$result=mysql_query($query) or die(mysql_error());
while($fetch=mysql_fetch_array($result)){
echo "<div class=single>
<div class=wrap>
<a href=count_link.php?fid=".$offer_id.">
<img src=picture.php?fid=".$offer_id."\">
</a>
</div>
</div>";
}
无论如何,谢谢你们时间的人......:)