Zeit vergleichen
am 03.05.2006 15:43:22 von Andreas Gebel
Hallo,
ich möchte das bestimmte Datensätze nur zu bestimmten Zeiten ausgelesen
bzw. geupdadet werden können. Habe dafür folgende Abfrage gemacht:
$sql = " UPDATE
user
SET
zeit = NOW()
WHERE
CURTIME() > '18:00:00'";
Hier soll er wenns nach 18:00 Uhr ist einen neuen Zeitstempel einfügen.
Leider funzt es nicht. Was könnte daran falsch sein?
Danke schon mal im Voraus für die Hilfe.
Gruß Andreas
Re: Zeit vergleichen
am 03.05.2006 16:10:46 von Helmut Chang
Andreas Gebel schrieb:
> Hallo,
> ich möchte das bestimmte Datensätze
Und die bestimmst du wie?
> WHERE
> CURTIME() > '18:00:00'";
AND whatever = ?
> Hier soll er wenns nach 18:00 Uhr ist einen neuen Zeitstempel einfügen.
> Leider funzt es nicht.
Fatal Error: Not enough input for function funzt().
> Was könnte daran falsch sein?
Das du uns nicht erzählst, was nicht funzt.
Ins Blaue geraten updated dein Statement nach 18:00 alle Datensätze in
der Tabelle.
gruss, heli
Re: Zeit vergleichen
am 03.05.2006 16:40:15 von Thomas Rachel
Andreas Gebel wrote:
> Hier soll er wenns nach 18:00 Uhr ist einen neuen Zeitstempel einfügen.
Einfügen oder aktualisieren? UPDATE aktualisiert. INSERT fügt ein. Was denn
nun?
> Leider funzt es nicht. Was könnte daran falsch sein?
Erkläre doch bitte, was Du mit "funzt nicht" meinst.
Kommt eine Fehlermeldung? Passiert überhaupt etwas? Welchen Wert hat denn
curtime() zum jeweiligen Zeitpunkt? Wie sieht die Tabelle user aus?
Hier grade getestet:
create temporary table user (zeit datetime);
show create table user\G
*************************** 1. row ***************************
Table: user
Create Table: CREATE TEMPORARY TABLE `user` (
`zeit` datetime default NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8
1 row in set (0,00 sec)
insert into user values (NULL);
UPDATE user SET zeit = NOW() WHERE CURTIME() > '14:00:00'; # 18:00:00 paÃt
jetzt noch nicht...
select * from user;
+---------------------+
| zeit |
+---------------------+
| 2006-05-03 16:37:43 |
+---------------------+
1 row in set (0,00 sec)
PaÃt.
Ist vielleicht die Tabelle leer und von daher auch kein Datensatz zum
Updaten da?
Thomas