Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][SQL][PHP]Dziwna inkrementacja +2. Wina PHP, MySQL czy moja?, Problem dotyczy inkrementacji która wykonuje się dwa razy...
kamil17289
post
Post #1





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 30.11.2011

Ostrzeżenie: (0%)
-----


Witam.
Jestem nowym użytkownikiem. Przeszukałem trochę forum, ale nie znalazłem wątków dotyczących mojego problemu, więc zakładam nowy.
Mam kod

  1. $article = mysql_fetch_array ($result1, MYSQL_ASSOC);
  2. $sql = "UPDATE ".$config->db_prefix."articles SET views=views+1 WHERE id=".$article['id'];
  3. $result2 = mysql_query($sql);


Po wyświetleniu $sql instrukcją echo wygląda ona poprawnie, i wysłana do bazy przez phpMyAdmina daje efekt o jaki mi chodzi, tj. zwiększa pole 'views' o 1.
Kiedy jednak wykona ją skrypt PHP przez mysql_query, w bazie pojawia się wartość większa od poprzedniej o 2, jak gdyby napisane było views=views+2.
Przeanalizowałem dokładnie cały kod, i nigdzie nie inkrementuję nic dwa razy. Instrukcja w phpMyAdmin działa poprawnie. Dla eksperymentu spróbowałem dać w kodzie views=views+2. Ku mojemu zaskoczeniu, wartość zwiększała się wtedy o 4.
Czy ktoś orientuje się o co chodzi? Czy to wina PHP czy MySQL czy czegoś jeszcze innego?
Pozdrawiam i dziękuję.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
kamil17289
post
Post #2





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 30.11.2011

Ostrzeżenie: (0%)
-----


Reszta jest banalna... Nie wysyłam żadnych nagłówków, nie robię przekierowań ani innych cudów. Zwyczajnie chcę zwiększyć wartość o jedyneczkę (IMG:style_emoticons/default/tongue.gif)
Wyłączyłem wszystkie dodatki i wtyczki w FF, ale nie pomogło. Ale podczas otwierania strony w konsoli WWW widać następujący wpis:

[19:23:39.377] GET http://127.0.0.1/aftg/ [HTTP/1.1 200 OK 31ms]
[19:23:39.550] GET http://127.0.0.1/aftg/ [HTTP/1.1 200 OK 15ms]

A po wycięciu w pliku szablonu fragmentu:
  1. <link rel="stylesheet" href="<?php $cms_config->cms_base_url.'templates/'.$cms_config->cms_layout.'/style.css'; ?>" type="text/css"/>


jedynie:
[19:30:07.870] GET http://127.0.0.1/afterglow/ [HTTP/1.1 200 OK 32ms]

i strona znów działa poprawnie (IMG:style_emoticons/default/smile.gif)
Już wiadomo, co powodowało podwójne wykonanie kodu - brak instrukcji echo (IMG:style_emoticons/default/biggrin.gif)
Dzięki wszystkim.

Ten post edytował kamil17289 5.12.2011, 19:50:37
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 13.10.2025 - 22:57