PDA

Bekijk Volledige Versie : MySQL / PHP maakt rekenfoutje???



Anbert.NL
12/10/03, 02:00
Beste allen,

Ik gebruik het onderstaande om een teller in een mysql database te updaten.
Het veld is een Integer (INT) van 16 tekens

$query = ("UPDATE foto_overzicht SET hits=hits+1 WHERE nummer = " .$nummer);
mysql_query($query) or die ("UPDATE HITS - FOTO ".$nummer .".PHP :"
..mysql_error());

Om 1 of andere reden word de teller altijd met 2 verhoogt. Ik heb
gecontroleerd als deze regel niet 2 keer wordt uitgevoert maar dat was niet
het geval. Dezelfde regels en veldtype gebruik ik nog op 2 andere plaatsen
maar dan zonder problemen. Iemand tips???

Groet,
Anbert
www.anbert.nl -> nog lang niet af

Rene Pijlman
12/10/03, 02:15
Anbert.NL:
>Ik gebruik het onderstaande om een teller in een mysql database te updaten.
>Het veld is een Integer (INT) van 16 tekens
>
>$query = ("UPDATE foto_overzicht SET hits=hits+1 WHERE nummer = " .$nummer);
^
Vanwaar deze haakjes?

>mysql_query($query) or die ("UPDATE HITS - FOTO ".$nummer .".PHP :"
>.mysql_error());

Ziet er allemaal goed uit, zou je denken.

>Om 1 of andere reden wordt de teller altijd met 2 verhoogd.

Altijd? Altijd als wat? Altijd als je Refresh/Reload/Ververs gedaan hebt
zeker :-)

>Ik heb gecontroleerd of deze regel niet 2 keer wordt uitgevoerd, maar dat
>was niet het geval.

Als dat echt zo is dan wordt er kennelijk in een andere regel nog 1 bij
opteteld.

Wij kunnen zo'n fout natuurlijk niet opsporen, als je alleen een fragment
van de code post waar de fout niet in zit.

--
René Pijlman

Wat wil jij leren? http://www.leren.nl

Anbert.NL
12/10/03, 12:15
"Rene Pijlman" <reply.in.the.newsgroup@my.address.is.invalid> schreef in
bericht news:bk6hov00ftpaqbl2g7do434scqd14if1h0@4ax.com...
> Anbert.NL:
> >Ik gebruik het onderstaande om een teller in een mysql database te
updaten.
> >Het veld is een Integer (INT) van 16 tekens
> >
> >$query = ("UPDATE foto_overzicht SET hits=hits+1 WHERE nummer = "
..$nummer);
> ^
> Vanwaar deze haakjes?

Iemand zei dat je eigenlijk moet aanleren ze altijd te gebruiken.

> >mysql_query($query) or die ("UPDATE HITS - FOTO ".$nummer .".PHP :"
> >.mysql_error());
>
> Ziet er allemaal goed uit, zou je denken.
>
> >Om 1 of andere reden wordt de teller altijd met 2 verhoogd.
>
> Altijd? Altijd als wat? Altijd als je Refresh/Reload/Ververs gedaan hebt
> zeker :-)

Bij alle acties.

> >Ik heb gecontroleerd of deze regel niet 2 keer wordt uitgevoerd, maar dat
> >was niet het geval.
>
> Als dat echt zo is dan wordt er kennelijk in een andere regel nog 1 bij
> opteteld.

Niet dat ik weet ;)

> Wij kunnen zo'n fout natuurlijk niet opsporen, als je alleen een fragment
> van de code post waar de fout niet in zit.

Klopt, ik heb de vraag kort gehouden, misschien was het iets bekends ofzo.
Je kunt de code van de volledige pagina bekijken als je naar mijn site
www.anbert.nl gaat. Onderaan de pagina heb ik ff een linkje gezet naar het
tekstdocument

Rene Pijlman
12/10/03, 13:30
Anbert.NL:
>Rene Pijlman
>>Anbert.NL:
>> >Om 1 of andere reden wordt de teller altijd met 2 verhoogd.
>>
>> Altijd? Altijd als wat? Altijd als je Refresh/Reload/Ververs gedaan hebt
>> zeker :-)
>
>Bij alle acties.

Nou, dan zijn er kennelijk 2 van die acties tussen de waarnemingen die je
doet aan de teller.

--
René Pijlman

Wat wil jij leren? http://www.leren.nl

Anbert.NL
12/10/03, 19:00
> >> >Om 1 of andere reden wordt de teller altijd met 2 verhoogd.
> >> Altijd? Altijd als wat? Altijd als je Refresh/Reload/Ververs gedaan
hebt
> >> zeker :-)

> >Bij alle acties.

> Nou, dan zijn er kennelijk 2 van die acties tussen de waarnemingen die je
> doet aan de teller.

Misschien wel, maar ik druk echt maar 1 keer op refresh en de teller wordt
met 2 opgehoogd...

Rene Pijlman
12/10/03, 19:30
Anbert.NL:
>ik druk echt maar 1 keer op refresh en de teller wordt met 2 opgehoogd...

En hoe veel hits registreert de web server daarbij in zijn log?

If all else fails: debugcode inbouwen. De waarde van de teller opvragen
voor en na de update.

--
René Pijlman

Wat wil jij leren? http://www.leren.nl

KLinZ
13/10/03, 21:00
In news:jI0ib.10525$P51.312322@amstwist00, Anbert.NL typed:

> Ik gebruik het onderstaande om een teller in een mysql database te
> updaten. Het veld is een Integer (INT) van 16 tekens
>
> $query = ("UPDATE foto_overzicht SET hits=hits+1 WHERE nummer = "
> .$nummer); mysql_query($query) or die ("UPDATE HITS - FOTO ".$nummer
> .".PHP :" .mysql_error());
>
> Om 1 of andere reden word de teller altijd met 2 verhoogt. Ik heb
> gecontroleerd als deze regel niet 2 keer wordt uitgevoert maar dat
> was niet het geval. Dezelfde regels en veldtype gebruik ik nog op 2
> andere plaatsen maar dan zonder problemen. Iemand tips???

Doet me een beetje denken aan een paar threads van een tijdje terug:

http://groups.google.com/groups?q=author%3Ainfo_NOSPAM_@webmasterlinks.be

In mijn herinnering was dat figuur trouwens eigenwijzer dan uit de threads
naar voren komt.

--
www.zenobits.com

Rene Pijlman
13/10/03, 23:00
KLinZ:
>http://groups.google.com/groups?q=author%3Ainfo_NOSPAM_@webmasterlinks.be
>
>In mijn herinnering was dat figuur trouwens eigenwijzer dan uit de threads
>naar voren komt.

Die knakker is geniaal! En geniale mensen zijn soms een beetje eigenwijs.

Hij heeft beredeneerd dat in:

1: {n = 0}
2: n = n + 1
3: {C1}
4: S1
5: {n = 2}

3: C1 moet luiden:

n = 1 [1+2]

en S moet luiden:

n = 2

En aangezien op regel 4 geldt: n = 1; en dus 2 = n + 1

n = n + 1 [3+4]

En toen dacht hij... verhip! [4] = [2]

Dat moet JavaScript zijn!

--
René Pijlman

Wat wil jij leren? http://www.leren.nl

Maarten Wierda
14/10/03, 01:15
Rene Pijlman wrote:

> En toen dacht hij... verhip! [4] = [2]

Tsja, als je *verhip* denkt, is het vast iets heel erg stoms ;-)

--
Cheers, Maarten Wierda

Q: What do you call someone who hangs around with musicians?
A: A drummer.