Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL] Błąd dodawania do licznika
Forum PHP.pl > Forum > Przedszkole
potreb
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]."'");
michaJlS
może trzy razy wywołujesz ten sam kod;]
Daimos
Widocznie zapytanie wywołujesz 3x, bo zbudowane jest dobrze
potreb
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.
Daimos
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
potreb
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.
mat-bi
Popatrz, czy gdzieś nie masz np. while czy for, bo to jest awykonalne, żeby tym zapytaniem zwiększyć o 3 licznik.
nospor
$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?
potreb
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.
nospor
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.
potreb
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
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.