Um das Ganze noch zu vereinfach, könnte man die Query auch so schreiben, in dem du die MySQL-Funktion
UNIX_TIMESTAMP() verwendest:
PHP-Code:
<?php
$sql = "UPDATE
spieler
SET
honorar = honorar + '$honorar'
partnerlink = UNIX_TIMESTAMP()
WHERE
Spieler_ID = ".$_GET['id']." AND
(partnerlink < (UNIX_TIMESTAMP() - 3600) OR
partnerlink = '' or partnerlink = '0')";
?>
Zu deinem Problem bezüglich des Datentyps Timestamp in der Datenbank: Du hattest als Spaltentyp Timestamp, was bedeutet, dass hier Daten in Form eines MySQL-Timestamps gespeichert werden sollen. Da du aber die Daten im UNIX-Timestampformat speichern möchtest, kann dies nicht funktionieren. Der MySQL-Timestamp ist nämlich einfach nur das entsprechende Datum im Format YYYYMMDDHHMMSS wohingegen der UNIX-Timestamp die vergangene Zeit seit dem 1.1.1970 in Sekunden ist.