2009-05-20 19 views
0

Ich versuche zu überprüfen, ob die Datumserinnerung einer Regelung heute ist und das Datum der Regulierung noch nicht abgelaufen ist, dann will ich nicht, dass es angezeigt wird. Das Problem ist, dass die Abfrage, die ich gemacht habe, nicht in MySQL funktioniert. Kann mir jemand helfen, meine Anfrage zu überarbeiten?Helfen Sie mir, mySQL-Abfrage zu überarbeiten

Hier ist meine Frage:

$query="select * from t_regulation where dt_reminder >= '$today' and dt_ended ='$today'" 
+0

Die Abfrage sieht korrekt aus, wie funktioniert es nicht? Syntaxfehler oder erzeugt es ein unerwartetes Ergebnis? Wenn das Ergebnis unerwartet ist, sind Sie sicher, dass Ihre Bedingungen korrekt sind? –

Antwort

2

Dies wird vorausgesetzt, dass Ihr dt_reminder Spalten Typ DATETIME- ist, und nicht irgendeine Art von timestap.

SELECT * FROM t_regulation WHERE DATE(dt_reminder) >= CURDATE() AND DATE(dt_ended) = CURDATE() 
0

Sehr häufig laufe ich in das Problem, dass mein Date Variable eine Zeichenfolge ist, die nicht richtig für die Standard-Datum Zeitstempel in Mysql formatiert ist.

Denken Sie daran, es sollte 'yyyy-mm-dd' für diesen Vergleich sein.

Auch für seit dem 'Datum beendet' noch nicht bestanden hat, sollte es nicht sein:

$ query = "select * from t_regulation wo dt_reminder> = '$ heute' und (dt_ended>‚$ today 'oder dt_ended ist null) "

Verwandte Themen