Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL] Błąd dodawania do licznika
potreb
post
Post #1





Grupa: Zarejestrowani
Postów: 1 568
Pomógł: 192
Dołączył: 7.03.2005
Skąd: Warszawa

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


Witam. Mam pole view_count typu int.
Próbuje zaktualizować licznik, ale za każdym razem dodaje mi co 3 a nie co jeden, nie wiem za cholerę co jest nie tak. Już totalnie zgłupiałem. Moja zapytanie wygląda tak:
  1. $a = $pdo->exec("UPDATE `news` SET `viewed`=`viewed`+1 WHERE `id` = '".$r[3]."'");


--------------------

Go to the top of the page
+Quote Post
michaJlS
post
Post #2





Grupa: Zarejestrowani
Postów: 83
Pomógł: 9
Dołączył: 21.05.2004
Skąd: Glogau/Breslau

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


może trzy razy wywołujesz ten sam kod;]
Go to the top of the page
+Quote Post
Daimos
post
Post #3





Grupa: Zarejestrowani
Postów: 1 319
Pomógł: 118
Dołączył: 26.11.2003
Skąd: Lublin

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


Widocznie zapytanie wywołujesz 3x, bo zbudowane jest dobrze


--------------------
scriptun.com. Startup z poradnikami do gier ttp.zone i ttpzone.pl
Go to the top of the page
+Quote Post
potreb
post
Post #4





Grupa: Zarejestrowani
Postów: 1 568
Pomógł: 192
Dołączył: 7.03.2005
Skąd: Warszawa

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


Wiem, gdybym wywoływał 3 razy to bym wiedział. Zresztą wyświetla mi wynik raz. Czy typ kolumny nie wpływa na dodawanie? Ja mam int.

Ten post edytował potreb 31.07.2011, 20:59:56


--------------------

Go to the top of the page
+Quote Post
Daimos
post
Post #5





Grupa: Zarejestrowani
Postów: 1 319
Pomógł: 118
Dołączył: 26.11.2003
Skąd: Lublin

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


co z tego, że wynik wyświetla Ci raz? Cały skrypt może się wykonać kilka razy, pierwszy przykład takiego czegoś, jest kiedy przechwytujesz błędy 404 swoją aplikacją, a gdzieś taki występuje


--------------------
scriptun.com. Startup z poradnikami do gier ttp.zone i ttpzone.pl
Go to the top of the page
+Quote Post
potreb
post
Post #6





Grupa: Zarejestrowani
Postów: 1 568
Pomógł: 192
Dołączył: 7.03.2005
Skąd: Warszawa

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


Przechwytuje błędy 404, ale z tego co widzę nie zwraca mi żadnego. Zresztą jeżeli zwracałoby mi błąd to i tak nie powinno dodać, bo dodawanie nie jest w żaden sposób połączone z obsługą błędów 404. Jednak gdy dodaję wartość do sesji o tym że dodało to nie dodaje potrójnie, więc nie wiem jak odnaleźć błąd.

Ten post edytował potreb 1.08.2011, 09:01:38


--------------------

Go to the top of the page
+Quote Post
mat-bi
post
Post #7





Grupa: Zarejestrowani
Postów: 690
Pomógł: 92
Dołączył: 6.02.2011

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


Popatrz, czy gdzieś nie masz np. while czy for, bo to jest awykonalne, żeby tym zapytaniem zwiększyć o 3 licznik.
Go to the top of the page
+Quote Post
nospor
post
Post #8





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




$r[3]
To dlatego że tu masz 3. Kabyś miał 4 to by dodawało poczwórnie wink.gif

A już tak bardziej poważnie:
  1. $a = $pdo->exec("UPDATE `news` SET `viewed`=`viewed`+1 WHERE `id` = '".$r[3]."'");
  2. file_put_contents('nospor.txt','A',FILE_APPEND);

Ile masz A w pliku po jednokrotnym odpaleniu skryptu? O ile ci się zwiększył licznik po tym samym odpaleniu skryptu?


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
potreb
post
Post #9





Grupa: Zarejestrowani
Postów: 1 568
Pomógł: 192
Dołączył: 7.03.2005
Skąd: Warszawa

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


Tak, mam potrójne A, ale nie wiem dlaczego mi wywala potrójnie, czy to może być przez autoloader? Mam w nim pętle, która sprawdza lokalizacje, w których mogą występować klasy.

Ten post edytował potreb 1.08.2011, 09:23:19


--------------------

Go to the top of the page
+Quote Post
nospor
post
Post #10





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




Cytat
czy to może być przez autoloader? Mam w nim pętle, która sprawdza lokalizacje, w których mogą występować klasy.

Oczywiście. Może to być też spowodowane plamami na słoncu.... wink.gif

No a skąd mamy to wiedzieć nie widząc Twojego kodu, nie widząc jak ty to wszystko wywołujesz?
Albo podziel się z nami pełnym kodem, ale sprawdzaj linia po linii co gdzie i dlaczego się duplikuje.


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
potreb
post
Post #11





Grupa: Zarejestrowani
Postów: 1 568
Pomógł: 192
Dołączył: 7.03.2005
Skąd: Warszawa

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


Dziękuje, jednak moja głupota jest spowodowana przez plamy na słońcu smile.gif Teraz wiem, że przynajmniej jedno moje rozwiązanie było popierdzielone smile.gif


--------------------

Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 20.08.2025 - 04:54