[PHP/SQL] Update query geeft hogere waarde dan bedoeld

Pagina: 1
Acties:
  • 30 views sinds 30-01-2008

  • bakakaizoku
  • Registratie: Januari 2002
  • Laatst online: 23-05 13:45
Elke keer als er een pagina wordt geopend, dan moet de pageviews in de db omhoog worden gegooid. Dit doe ik dmv:

PHP:
1
mysql_query("update table set views=views+1 where id='$id'");


Dus, mocht de oude waarde 50 zijn, dan zal dit nu 50+1 = 51 moeten worden. Op een of andere manier wordt dit 52, dus in plaats van + 1 maakt hij er + 2 van..

Dit begint mij echt te frustreren... Ik heb het hele document nagezocht op een kopie van deze query, die zeg maar dezelfde views increment, maar die is nergens te vinden, en het begint onderhand misleidend en irritant te worden..

Solution anyone?

rm -rf ~/.signature


  • Wacky
  • Registratie: Januari 2000
  • Laatst online: 09:20

Wacky

Dr. Lektroluv \o/

Plak het hele script eens hier, die query is namelijk goed :)

Probeer trouwens ook eens [...]SET views+1 WHERE[...]

[ Voor 32% gewijzigd door Wacky op 09-08-2004 18:18 ]

Nu ook met Flickr account


  • Tux
  • Registratie: Augustus 2001
  • Laatst online: 12:34

Tux

Staat de query ook niet toevallig ergens in een forloop of iets dergelijks. Want die query wordt toch echt twee keer uitgevoerd per pageview.

The NS has launched a new space transportation service, using German trains which were upgraded into spaceships.


  • Gomez12
  • Registratie: Maart 2001
  • Laatst online: 17-10-2023
1 Pagina met 2 frames / 1 iframe zodat het script toch echt 2x aangeroepen wordt.

  • bakakaizoku
  • Registratie: Januari 2002
  • Laatst online: 23-05 13:45
Gomez12 schreef op 09 augustus 2004 @ 18:22:
1 Pagina met 2 frames / 1 iframe zodat het script toch echt 2x aangeroepen wordt.
Frames Afbeeldingslocatie: http://images.fok.nl/s/emo.gif

@ Wacky: In het hele script wordt verder geen update uitgevoerd, en daarbij komt nog dat hij redelijk knullig in elkaar zit en ik echt totaal zeker weet dat hij nergens anders wordt geupdated, daarom dat ik hem leiver niet plaats omdat er anders weer gezeurd gaat worden over het script ipv. het probleempje.. Die query van jou resulteert overigens in helemaal geen update hier.

@ Tux: nope, geen loops of iets dergelijks..

[ Voor 10% gewijzigd door bakakaizoku op 09-08-2004 18:30 ]

rm -rf ~/.signature


  • justmental
  • Registratie: April 2000
  • Niet online

justmental

my heart, the beat

gebruik je onclick in je html?
Dan kan je form 2x gesubmit worden (1x door html, 1x door javascript)

Who is John Galt?


  • bakakaizoku
  • Registratie: Januari 2002
  • Laatst online: 23-05 13:45
justmental schreef op 09 augustus 2004 @ 18:33:
gebruik je onclick in je html?
Dan kan je form 2x gesubmit worden (1x door html, 1x door javascript)
nope, de query wordt uitgevoerd bij het laden van de pagina

rm -rf ~/.signature


  • SuperRembo
  • Registratie: Juni 2000
  • Laatst online: 20-08-2025
Als je die update direct in MySql uitvoert, dan zie je dat ie goed werkt. Je probleem moet ergens anders zitten. Schrijf voor elke update eens een regeltje in de php-log ofzo (zie error_log)

| Toen / Nu


  • Gomez12
  • Registratie: Maart 2001
  • Laatst online: 17-10-2023
Probeer het anders eens gewoon met een testpagina, eerst gewoon beginnen met deze query en hello world, daarna de pagina steeds meer uitbreiden tot het fout gaat.

Systematisch te werk gaan scheelt al een hele boel, want je query is gewoon goed. Dus als je de pagina/script niet wilt tonen dan is het voor de rest ook alleen maar puur gokwerk wat er fout gaat.

Maar om lekker door te gokken gaat het altijd fout??? Of gaat het zo af en toe fout. Zo af en toe bij bepaalde ip's kijk dan eens naar een proxy ofzo die verkeerd staat ingesteld. Altijd, echo dan eens lekker een tekstje in je source wanneer het gebeurt misschien dat je dan wel iets duidelijk kan zien ( je gebruikt in een header en een footer van een pagina dezelfde functie???)

Btw. Je bedoelt toch wel echt 1 in je query en niet een of ander vaag tellertje??? Dus oftewel is dit de letterlijke query of niet ...

[ Voor 9% gewijzigd door Gomez12 op 09-08-2004 20:31 ]


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 12:51

gorgi_19

Kruimeltjes zijn weer op :9

Dit wordt met deze gegevens gewoon gokwerk. :) De enige oplossing is debuggen; kijken welke variabelen op welke momenten welke waarde hebben. Dit is iets wat je zelf zult moeten doen; je hebt zelf alle code tot je beschikking en kan zelf de aanpassingen verrichten. :)

Zie ook:

P&W FAQ - Algemeen

Digitaal onderwijsmateriaal, leermateriaal voor hbo

Pagina: 1

Dit topic is gesloten.