У меня проблема, которая беспокоит меня.
У меня есть очень простая таблица (MyISAM), где у меня есть поле "count (INT) (11)"
Это просто счетчик, который увеличивается каждый раз, когда просматривается один товар / элемент.
Проблема в том, что запрос увеличивает 2, а не 1.
Т.е..
Фактическое значение поля = 10
чем я бегу:
mysql_query ("обновить таблицу_тест установленный счетчик = количество + 1, где id = 1");
значение счетчика полей увеличивается до 12, а не до 11.
Я подумал, что, возможно, мой скрипт выполняется 2 раза по запросу, затем я сделал чистый файл со следующими строками:
$con = mysql_connect("localhot","user","pass");
mysql_select_db("database");
mysql_query("update table_test set count = count+1 where id = 1");
и ничего больше в файле .. все равно добавьте 2 insted 1.
но если я копирую этот запрос и запускаю его с помощью Phpmyadmin, он работает.
Кто-нибудь имеет представление о том, что происходит?
Большое спасибо
С уважением
Тарсис Флоренсио
Это полный код, который я использую:
include 'includes/constants.php'; //just db_user, db_pass and connection
include 'includes/connect.php';
//here i select the actual count value
$result = mysql_query("select count from pictures where id = 6909") or die (mysql_error()." - [select count from pictures where id = 6909]");
$row = mysql_fetch_array($result);
$aux = (int)$row['viewed'] + 1; // increment
mysql_query("UPDATE pictures SET viewed = {$aux} WHERE id = 6909");
Также я попробовал:
mysql_query("UPDATE pictures SET viewed = viewed+1 WHERE id = 6909");
Если я запускаю файл, используя запрос, подобный следующему:
ОБНОВЛЕНО картинки УСТАНОВЛЕНО просмотрено = 15 ГДЕ id = 6909
где я указываю значение для обновления, работает.