Timestamp MySQL - Bischen komisch

djcritical

Grünschnabel
Hallo zusammen,

also ich weis noch nicht ob es ein Denkfehler ist oder ob folgendes Problem eventuell anderer Natur ist.

Problem:
Beim Speichern der Besucher in der Datenbank lege ich natürlich auch die Uhrzeit mit ab (MySQL datetime).

PHP:
$sql = $db->query("INSERT INTO xxxx (IP,WochenTag,Browser,Datum,......) 
                   VALUE ('".$IP."','".$WochenTag."','".$Browser."',NOW(),........)") 
    or $db->error();


So, alles bestens... Keine Probleme funktioniert. Nun wird in der Statistik die am meist besuchte Uhrzeit angezeigt. Also z.B.: Es ist 14.00 Uhr ist immer am meisten los auf der Seite.

Auch kein Problem, jedoch stellt sich nach ca. 1 - 2 Monaten vermehrt die Uhrzeit 00.00 Uhr ein. Und das bei allen Websiten (32 Stk.). 00.00 Uhr überwiegt einfach alle anderen Zeiten und ich glaube da nun langsam nicht mehr daran, dass dies so ist.

NOW() nimmt doch die Serverzeit oder? Also kann es ja auch kein dummer Zufall mit Zeitverschiebungen sein, da auch ein ziemlich großer USA Anteil vorhanden ist.

Bots/Spider werden aus der Statistik ausgeschlossen, also werden nur wirkliche Besucher mit eingezählt. Dennoch glaube ich nicht an diese misteriösen 00.00 Uhr.

Wo liegt der Fehler bzw. ist es überhaupt ein bekannter Fehler?

Vielen Dank für eure Hilfe!

Besten Gruß
Dave
 
NOW() nimmt doch die Serverzeit oder?
Nö, die von der Armbanduhr deines Nachbarn. ;-)
Klar wird die Serverzeit verwendet. ;)

Hast du mal nachgesehen ob die ausgegebenen Uhrzeiten auch so in der Datenbank stehen? Es könnte auch ein Fehler bei der Verarbeitung mittels PHP schuld sein.

Falls sie jedoch so in der Datenbank stehen, stimmt das Datum dann noch?
Wird jede Nacht irgendein Skript ausgeführt, welches über die Benutzertabelle iteriert?

Für meine Begriffe ist das eindeutig ein Fehler im PHP-Skript, nicht bei MySQL selbst.
 
Hey DeluXe,

Nö, die von der Armbanduhr deines Nachbarn. ;-)

Das Problem habe ich gerade geklärt... Keine Nachbarn mehr :D

Also ich habe dies nun schon einige Zeit verfolgt und immer wieder mal reingesehen. Datum stimmt und die Uhrzeiten stimmen anscheind auch. Habe es von vielen Standorten getestet und direkt in die Datenbank gesehen oder anderen beauftragt und dabei die DB verfolgt. Hatte immer seine Richtigkeit. Deswegen kommt mir es ja so komisch vor. Achja.. Serverzeit stimmt auch...

Nein es laufen kein CronJobs oder der gleichen. Beim Login ins System werden einmal die Boot Funktions geladen die dir dann die Statistiken ausgeben.

Hier mal die Abfrage für die Uhrzeit....
PHP:
public function mostTime() {
	$sql 	= $this->query(" SELECT 
								COUNT(Datum) AS Anzahl, 
								HOUR(Datum) AS Stunde 
							FROM 
								xxxxxx 
							WHERE 
								UserID = '".$this->UIDs_56."' 
							AND (
								Browser LIKE '%Internet%' 
							OR
								Browser LIKE '%Mozilla%' 
							OR
								Browser LIKE '%Opera%' 
							OR
								Browser LIKE '%Safari%' 
							OR
								Browser LIKE '%Google%' 
							OR
								Browser LIKE '%Netscape%' 
							)
							AND 
								Browser NOT LIKE '%Bot%' 
							AND
								Browser NOT LIKE '%Spider%' 
							
							GROUP BY 
								HOUR(Datum) 
							ORDER BY 
								Anzahl 
							DESC") or $this->error();
	$result = $this->fetch_array($sql);
	return $result['Stunde'].".00";
}
 
Zuletzt bearbeitet:
Nur um nochmal sicher zu gehen das ich dich richtig verstehe.

Nach 1-2 Monaten ist:
a) die Uhrzeit eines bereits existierenden Eintrags auf 00:00 geändert.
(Sprich ein UPDATE wird ausgeführt)

b) die Uhrzeit neuer Einträge vermehrt auf 00:00 gesetzt.
(Sprich der INSERT ist fehlerhaft)

Welches von beiden trifft zu?
 
Antwort b ist die richtige...

Es nehmen nach 1 - 2 Monaten vermehrt Neueinträge mit 00.00 Uhr zu.
Den INSERT hatte ich ja oben schon gepostet.
 
Hast du den Query oder einen Teil davon schonmal seperat auf der Datenbank getestet?
Also in phpmyadmin beispielsweise.
 
Achso, ja klar. Alles ohne Fehler. Habe auch mal bei einem System die DB bei den Besuchereinträgen auf einen anderen Server und DB gespiegelt um die Daten zu vergleichen. Bis auf ein paar Sekunden Unterschied (Bischen unterschiedliche Serverzeiten) waren allerdings die Daten identisch.

Ich kann mir wie gesagt nur nicht die ganzen 00.00 Uhr Einträge erklären. Es sind keine Bots, keine Attacken, aber was dann? Denn die 00.00 Uhr Einträge sind im Schnitt um das dreifache höher als alle anderen Uhrzeiten. Und es sind ja wirklich 00.00 Einträge und keine 00.31 oder 00.05 oder sowas.. Alle glatt 00.00.

Alle anderen Daten zu dem Eintrag sind auch vorhanden wie Referer, IP, Browser, Land etc.
Sind also auch keine Fehleinträge.
 
Zuletzt bearbeitet:
Zurück