Löschen nur wenn Bedingung erfüllt

Doch, eigentlich schon. Du musst sie nur lesen. Was soll an den Funktionen so kompliziert sein?
Code:
SELECT field_a, field_b FROM table_a WHERE YEAR(field_c) = 1999;
 
okay ich habe da jetzt was in einem Buch gefunden, aber ich mach da irgendwas falsch:
Code:
SELECT `ID`, `geb` FROM `userdaten` WHERE `geb`BETWEEN EXTRACT(MONTH | DAY FROM 2005-05-01) and EXTRACT(MONTH | DAY FROM 2005-08-12)
Also der Fehler liegt irgendwo bei dem MONTH | DAY

Wenn ich es so mache wird zwar keine Fehler ausgegeben:
Code:
SELECT `ID`, `geb` FROM `userdaten` WHERE `geb`BETWEEN EXTRACT(MONTH FROM 2005-05-01) and EXTRACT(MONTH FROM 2005-08-12)
Aber Ergebnisse werden trotzdem nicht gefunden, obwohl es welche geben sollte.
 
So ich werd dann mal nach langem rumprobieren die Lösung preisgeben.
Vorher werd ich noch mal erklären was man damit machen kann:
Ich habe in der Datenbank das Gebursdatum und das Alter jedes Users stehen.
Bei ersten Login des Tages wird ein Systemcheck gemacht. Das Datum dieses Systemchecks wird gespeichert, damit falls ein paar Tage niemand online ist, die übergangen Systemchecks nachgeholt werden.

Bei diesem Systemcheck werden alle User aus der Datenbank gelesen, die seit dem letzten Systemcheck Geburstag hatten und deren Alter um 1 hochgezählt.
Und so sieht die Auslese der User aus:
PHP:
SELECT `ID`,`Nick`,`geb` FROM `userdaten` WHERE EXTRACT(MONTH FROM `geb`) BETWEEN EXTRACT(MONTH FROM '$check') and EXTRACT(MONTH FROM '".date("Y-m-d")."') AND EXTRACT(DAY FROM `geb`) BETWEEN EXTRACT(DAY FROM '$check') and EXTRACT(DAY FROM '".date("Y-m-d")."')
Die Var. $check beinhaltet das Datum des letzten Systemchecks.

Ich hoffe ihr könnt das auch bei euch anwenden.
 

Neue Beiträge

Zurück