2013-11-12 4 views
1

у меня есть этот простой запрос обновления:запрос на обновление не работает, как ожидалось

update `table_name` set `count` = `count` + 1 where `id` = '$id' 

Но каждый раз, когда я перезагрузки страницы счетчик увеличивается на 2 в БД. Что здесь происходит? Спасибо ..

+0

бежит запрос дважды по ошибке? разместите больше своего кода, трудно сказать, что вы нам дали, что не так. –

+0

проверить его вручную в mysql ... – Dinesh

+0

Я проверил его вручную в mysql, работая отлично. – user1285659

ответ

2

Это проблема с браузером. Ваш браузер дважды посещает страницу.

Почему это может быть:

  • Ваша страница содержит img или script без или пустой src Attr.
  • Запрос на отправку значка на вашу страницу.
  • Ваш браузер имеет расширение, которое отправляет дополнительные запросы.
  • Ваш CSS содержит что-то вроде этого: {background-image: url();}

Узнать консоль браузера для запросов.

+0

Я установил пустой атрибут src, но его все еще не работает, и эта проблема существует во всех браузерах, поэтому это, конечно, не проблема с расширением. – user1285659

+0

Проверьте свои запросы с помощью консоли браузера – sectus

+0

спасибо, что это было пустой src выпуск – user1285659

0

Попробуйте объявить переменную, прежде чем вы вызовете ее в следующем запросе: Также я не уверен, что ваш счетчик является строкой или также переменной.

$count2 = 'count' + 1; 
update `table_name` set `count` = '$count2' where `id` = '$id' 
+0

count - это имя столбца mysql. – user1285659

+0

Я спрашиваю о втором «счете» в этом утверждении «set» count '=' count '+ 1 ". Вы не можете напрямую получать любой столбец и его значение, если у вас нет запроса sql до вашего запроса на обновление. –

+0

То, что я пытаюсь сказать, так же, как «вы могли бы попытаться получить счет сначала из этой таблицы, увеличить его, а затем обновить таблицу». –

1

Try Ниже Код: Fetch рассчитывать первый из этой таблицы и увеличить его, а затем обновить таблицу

$count = SELECT count(*) FROM `table_name` 
$count1 = $count + 1; 
update `table_name` set `count` = '$count1' where `id` = '$id' 
Смежные вопросы