Почему запрос выполняется два раза?

525
28 ноября 2016, 18:39

Здравствуйте. Хочу сделать что бы при переходе на страничку, добавлялся +1 просмотр к ней.

$coll_look = $option['look']+1; //кол-во уже имеющихся просмотров + 1
mysql_query("UPDATE `page` SET `look` = '$coll_look' WHERE `id` = '$option[id]' LIMIT 1");

В итоге добавляет +2 почему то.

А если код сделать так:

$coll_look = $option['look']+1; //кол-во уже имеющихся просмотров + 1
echo "Тут написать любой текст";
mysql_query("UPDATE `page` SET `look` = '$coll_look' WHERE `id` = '$option[id]' LIMIT 1");

Добавит +1 как и нужно.

В чем может быть дело?

Answer 1

Во-первых, лучше использовать mysqli, а во-вторых попробуйте такой простой запрос сделать:

$mysqli->query("UPDATE page SET look = look + 1 WHERE id = $option[id] LIMIT 1") 
Answer 2

Логично предположить, что к странице происходит два обращения, просто вы об этом не знаете. Такое бывает, например, если в системе используется "единая точка входа" для всех ЧПУ адресов, а какой-то из подключаемых ресурсов отсутствует. В итоге вместо, скажем, favicon.ico, браузер получает снова ваш index.php

Узнать это наверняка можно заглянув в access.log вашего вебсервера.

READ ALSO
Как не терять авторизацию на сайте

Как не терять авторизацию на сайте

ЗдравствуйтеЕсть сайт mysite

412
Создать форму radio в которой будут списком выводиться из базы данных все записи. PHP

Создать форму radio в которой будут списком выводиться из базы данных все записи. PHP

Как создать форму, где будут выводиться все пользователи сайта из базы, чтоб можно было выбрать пользователя для редактирования его полей...

452
Как mysql update выполнить через время после запроса?

Как mysql update выполнить через время после запроса?

у меня есть запрос который должен по истечению минуты только выполнять update а оно сразу выполняет игнорируя time

557