2015-09-07 1 views
3

Я пытаюсь запустить эту простую Mysqli команды в PHP:обновляя свою таблицу подготовить команду увеличить значение на 2

$query = "UPDATE config SET visit = visit + 1"; 
if ($stmt = $con->prepare($query)) { 
    $stmt->execute(); 
    $stmt->close(); 
} 

Таблица конфигурация имеет только 1 строку. Однако значение вместо 1 увеличивается на 2!

Итак, если текущее значение равно 0, следующее значение будет равно 2, а затем 4 и т. Д.!

Я не могу этого понять.

+0

Другие комбинации, такие как visit = visit +? , и т. д. имеет тот же результат :( – Soley

+0

. Используете ли вы какую-либо URL-маршрутизацию для этого? – georoot

+0

Это простая команда mysqli. Что такое URL-маршрутизация и что она имеет с этой проблемой? – Soley

ответ

2

Проблема не имеет ничего общего с подготовленными заявлениями (кстати, вам здесь не нужен) и даже с sql вообще. Это ваш весь PHP-скрипт выполняется дважды, благодаря неправильной реализации дружественных URL-адресов для SEO. Вы всегда должны проверить, обрабатываете ли вы действительный запрос. И никогда не запускайте SQL для недопустимых.

PS. Добавьте favicon.ico для своего сайта.

Я позволю себе еще раз подчеркнуть это. Это не favicon.ico виноват, , но неправильная реализация SEO дружественных URL-адресов. Будут сотни других запросов, которые должны привести к ответу 404, а не увеличению количества просмотров. Вы должны вылечить болезнь, а не один из симптомов. Вы должны исправить свою точку входа, чтобы sh ould не обрабатывал запросы к файлам изображений в целом.