2010-07-21 2 views
0

У меня возникает проблема, которая меня забывает. У меня очень простая таблица (MyISAM), где у меня есть поле «count (INT)» (11) «MySQL - Увеличивает существующее значение

Это просто приращение счетчика каждый раз, когда просматривается один товар/элемент. Проблема заключается в том, что запрос увеличивается на 2, а не на 1.

Т.е. Фактическое значение поля = 10

чем я запускаю: mysql_query ("update table_test set count = count + 1 where 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, он работает.

Есть идеи, что происходит?

Thanx очень Kid касается Тарсис Florencio

Это полный код, я использую:

 

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"); 
 

Если я запустить файл, используя следующий запрос: UPDATE pictures SET просмотрен = 15 WHERE id = 6909

где я указываю значение, подлежащее обновлению, работает.

+1

может быть отправлено 2X запросов с вашего веб-браузера. Можете ли вы поделиться своими относительными кодами? – Sadat

+0

Действительно, запрос HAS должен выполняться дважды, чтобы получить это, возможно, ошибку логического кодирования в другом месте или «двойные» запросы (проверьте журналы доступа, для которых один) – Wrikken

+0

Это то, что я думал, но это чистый файл, который даже не печатает какой-либо вывод , Я просто нажимаю F5, чтобы запустить линию выше. Я сделал обновление для кода выше, так что .. это то, что я запускаю. файл помещается на мой корневой склад. !?!? – Varois

ответ

0

Если вы включили тот же запрос в phpMyAdmin и он работает, это не проблема с вашим запросом. Можете ли вы поделиться кодом, из которого вы вызываете запрос?