Сохранять количество кликов в базе данных, используя php

Я работаю над проектом, который включает в себя галерею изображений. Теперь я хочу сохранить количество значений clicks / counts в моей базе данных (разработанных в MySQL). Я попытался сделать это по-своему, но проблема в том, что значение count / clicks для всех изображений хранится в базе данных как одно значение.

Код, приведенный ниже, находится в файле 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..."); } 

Я не уверен, что MySQL поддерживает «+ =», попробуйте SET count = count + 1

EDIT: Определенно посмотрите на сортировку уязвимости инъекций, независимо от того, как указано в комментариях ниже вашего сообщения.

Это не имеет никакого отношения к 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>"; } в $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>"; } 

В любом случае спасибо за вас, парни .. 🙂