Autor Zpráva
Perry
Profil
Mám podivný problém. Pokud spustím tento dotaz


UPDATE `lide` SET `navstevnost` = (`navstevnost`+ 1) WHERE `ID` = '2';

přímo v PHPmyAdminovi, přičte se skutečně 1. Pokud ten samý dotaz ale spustím ze stránky přes mysql_query(); přičte se 2 nebo 3...... Vůbec to nechápu a jsem z toho úplně blbý.

(ten mysql_query proběhne v PHP pouze 1x.. vypisuji si to)
Taps
Profil
Perry
ten mysql_query proběhne v PHP pouze 1x - ..a kolikrát by měl proběhnout ?
Paja
Profil
Taps
třeba, kdyby náhodou proběhl dotaz vícekrát, inkrementace by taky proběhla vícekrát ne?
Perry
dotaz je správně, chyba musí být někde ve skriptu.
Mastodont
Profil
Taps
Podle popisu problému si Perry myslí, že dvakrát nebo třikrát ...
Perry
Profil
Paja
No ale všechno ostatní funguje... a blbne to, i když udělám prázdnou stránku s připojením k DB a jedním mysql_query
Alphard
Profil
nedojde k více aktualizacím stránky?
v tom dotazu chybu nevidím
Paja
Profil
Pokud je tam jenom jedna query a nic jiného, pak musí být ta stránka spuštěna vícekrát. Nebo se ti automaticky refreshuje, jinak to není možné .. toť můj názor
Perry
Profil
Tak jsem přišel na to, že to zřejmě dělal vložený script v hlavičce.
Měl jsem 2 za sebou script src... a když jsem otočil jejich pořadí, tak to přestalo... to fakt nechápu :/
nightfish
Profil
Perry
dej si před ten dotaz
echo "navstevnost pred: ".mysql_result(mysql_query("select `navstevnost` FROM `lide` WHERE `id` = 2"), 0, 0)."<br>";
// ... tvuj dotaz
echo "navstevnost po: ".mysql_result(mysql_query("select `navstevnost` FROM `lide` WHERE `id` = 2"), 0, 0)."<br>";

v případě, že bude rozdíl větší než 1, tak je zřejmé, že se ti tabulka "mění pod rukama", tzn. že existuje (např.) skript, který tu tabulku permanentně aktualizuje... v takovém případě můžeš zkusit lock table, čímž si vynutíš uzamčení tabulky jen pro tvé spojení

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: