| 

.NET C# Java Javascript Exception

0
Ich lege Sessions in einer MySQL Tabelle mit dem TIMESTAMP von MySQL an - wie kann ich die Sessions überprüfen und alle Sessions, die z.B. 30 min alt sind, entfernen?

Mir gehts um das programmiertechnische, d.h. wie kann ich einen passendend aktuellen Timestamp erzeuen und ihn mit dem MySQL Timestamp verlässlich vergleichen? Die Implementierung ist mir dann schon klar :-)

Beispiel TIMESTAMP aus der aktuellen Datenbank: 2011-08-30 11:05:17
News:
30.08.2011
AlexanderF 185 1 6
1 Antwort
3
Hi,

du kannst in MySql mit der Funtkion UNIX_TIMESTAMP ein Datum in einen entsprechenden Timestamp umwandeln. Dann brauchst du eigentlich nicht viel mehr als ein SQL Statement, welches du regelmäßig absetzt:

DELETE FROM deine_sessions_tabelle 
WHERE (UNIX_TIMESTAMP(now()) - UNIX_TIMESTAMP(datum/uhrzeit der anmeldung)) > 1800;


Also: Lösche alles bei dem zwischen der Anmeldung und der aktuellen Zeit 1800 Sekunden (also 30 Minuten) liegen.

Das kannst du dann regelmäßig aus PHP aufrufen oder über ein MySql Event, oder.., oder...

Hoffe das hat erstmal geholfen.

Gruß

JenneB
30.08.2011
JenneB 206 4

Stelle deine Php-Frage jetzt!