Ik ben bezig om een class te schrijven die sessies van gebruikers van de website opslaat en beheert. Het hele systeem werkt naar behoren alleen de verlopen sessies worden niet uit de database verwijdert. Gebruikers blijven dus altijd ingelogd als ze eenmaal aangemeld zijn.
Elke gebruiker krijgt een sessie lengte mee waarmee het einde van de sessie berekend wordt. Het is dan de bedoeling om de verlopen sessies weer uit de database te verwijderen. Voor de sessie tijden gebruik ik een datetime, omdat ik mijn database graag netjes en duidelijk wil houden en het feitelijk data zijn.
Ik heb een aantal verschillende manieren geprobeerd waarbij ik het gevoel had het dichtst bij mijn beoogde eindresultaat te komen met de TIMEDIFF functie van MySQL. Als ik deze laat berekenen middels een SELECT query krijg ik keurig het resultaat te zien wat ik wil, alleen in de DELETE query werkt het niet en kan ik hier ook geen oplossing voor vinden.
Omdat code meer zegt dan woorden in dit geval hierbij de delete query:
Wie o wie weet hoe deze query kan gaan werken?
Edit: Als ik de query rechtstreeks als SQL in de database invoer werkt deze wel.
Elke gebruiker krijgt een sessie lengte mee waarmee het einde van de sessie berekend wordt. Het is dan de bedoeling om de verlopen sessies weer uit de database te verwijderen. Voor de sessie tijden gebruik ik een datetime, omdat ik mijn database graag netjes en duidelijk wil houden en het feitelijk data zijn.
Ik heb een aantal verschillende manieren geprobeerd waarbij ik het gevoel had het dichtst bij mijn beoogde eindresultaat te komen met de TIMEDIFF functie van MySQL. Als ik deze laat berekenen middels een SELECT query krijg ik keurig het resultaat te zien wat ik wil, alleen in de DELETE query werkt het niet en kan ik hier ook geen oplossing voor vinden.
Omdat code meer zegt dan woorden in dit geval hierbij de delete query:
code:
1
2
| DELETE FROM user_sessions WHERE TIMEDIFF(NOW(), lastupdate) > length |
Wie o wie weet hoe deze query kan gaan werken?
Edit: Als ik de query rechtstreeks als SQL in de database invoer werkt deze wel.
[ Voor 3% gewijzigd door WoBaDijk op 22-04-2011 09:27 ]
Apple MacBook Pro 13" 2,53Ghz | 4Gb | GeForce 9400M | 250Gb HDD |