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
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




Napiszę ci to samo co w tym temacie:
http://forum.php.pl/index.php?showtopic=18...mp;#entry918556

Odpowiedź jest banalnie prosta. Wykonujesz kod 2 razy. Albo strona ci się odswieza, albo kupa innych rzeczy powodujących wykonanie tego kodu dwa razy.

Były dziesiatki takich "problemów" na forum, ludzie zawsze się zastrzegali że robią to tylko raz, ale zawsze się okazywalo, że robią to jednak dwa razy, zazwyczaj nieswiadomie, posrednio z jakiegoś innego powodu.
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: 15.10.2025 - 00:05