Tach!
$db->query("SET time_zone='UTC'");
Ich dachte, die Zeitzone als Namen anzugeben funktioniert wegen der nicht gefüllten Timezone-Tabellen nicht. Der Rückgabewert von $db->query() müsste dir das in Form eines false bestätigen. Deswegen sagte ich, dass du für diesen Weg nicht 'UTC' sondern '+0:00' verwenden solltest. Bei UTC kannst du im Gegensatz zu den Lokalzeiten mit Sommerzeitumschaltung die Zone als Zahl setzen, weil diese immer gleich ist.
In der Datenbank habe ich einen UTC-Zeitpunkt stehen: '2012-10-24 08:43:38'.
Ausgegeben werden sollte jetzt: "Max Mustermann ist Mitglied seit: 2012-10-24 10:43:38."!
Das geschieht aber nicht. "Ausgegeben wird: Max Mustermann ist Mitglied seit: 2012-10-24 08:43:38."!
Wenn das Umstellen der MySQL-Zeit auf die UTC nicht klappt, dann wird diese Zeit als Lokalzeit interpretiert und UNIX_TIMESTAMP() erzeugt den Timestamp von 6:43 UTC. Den rechnest du mit PHPs Lokalzeit dann wieder zwei Stunden hoch.
dedlfix.