приращение в запросе на обновление добавляет 2 в таблицу вместо 1 - PullRequest
0 голосов
/ 28 сентября 2018

У меня есть страница сведений о новостях, где я обновляю поле «просмотры» на 1 при просмотре страницы.запрос выглядит следующим образом:

$conn->query("update TABLE set views=views+1 where ID='$id'");

его приращение значения в дБ на 2. Я не могу понять это поведение.
Любая помощь будет высоко ценится.

Спасибо вAdvance.

1 Ответ

0 голосов
/ 28 сентября 2018

Надеюсь, вы можете использовать PHP для веб-разработки на своей веб-странице.

$ con - это объект подключения к базе данных.С помощью которого вы можете выполнить запрос.

$ con> query - это функция PHP, которая выполнит запрос, переданный в нее.Он работает аналогично терминалу MYSQL при выполнении запроса.

Когда вы запускаете следующую команду

update TABLE set views=views+1 where ID='$id'

Он проверяет наличие ID , котороеравно $ id (например, если $ id = 2, то проверит, если id = 2) в строке таблицы базы данных и обновит столбец views этой конкретной строки на 1.

Убедитесь, что в столбце view указано обнуляемое , тем лучше обновить запрос следующим

update TABLE set views=COALESCE(views, 0)+1 where ID='$id'

COALESCE - это встроенная команда MYSQL, которая проверяет, равняется ли views NULL , затем 0 и обновляется ли счетчик 1.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...