CURRENT_DATE()
bereits gibt Ihnen das aktuelle Datum um Mitternacht. Wenn Sie Datensätze aus dem selben Tag wollen, brauchen Sie nichts weiter zu subtrahieren
entry_time >= DATE_SUB(CURRENT_DATE(), INTERVAL 0 DAY)
einfach
sein Können
entry_time >= CURRENT_DATE()
es in localhost funktioniert, aber wenn ich auf dem Server bin das Hochladen es ist nicht funktioniert es unter 1 Tag, bevor die Daten aus der Datenbank
Ob Sie auf localhost sind oder leben sollte keinen Unterschied, um Ihre Ergebnisse machen. Wenn Sie bestätigen, dass der Code lokal funktioniert, ist das Problem wahrscheinlich, dass entry_time
mit einem Zeitzonenoffset gespeichert wurde, der sich von der aktuellen Zeitzone des Servers unterscheidet. Dies ist besonders wahrscheinlich, wenn die Daten auf einem anderen Server erstellt und dann auf den aktuellen übertragen wurden oder wenn die Anwendung die Daten von einem Remotestandort aus auf dem MySQL-Server gespeichert hat. So oder so, wenn der Server entry_time
mit CURRENT_DATE()
vergleicht, kann es keine zuverlässigen Ergebnisse erhalten, weil es denkt, dass die beiden aus derselben Zeitzone stammen.
Um dies zu beheben, sollten Sie wahrscheinlich die Zeitzone des Servers einstellen, wenn Sie eine Verbindung herstellen. Sobald Sie angeschlossen haben, führen Sie die folgende Abfrage, bevor Sie Zeit Operationen zu tun (für Ihre Zeitzone einstellen Offset):
SET timezone = '+0:00'
localhost vs Host nicht –
Rolle, sollten Sie überprüfen Sie Ihre Server-Zeitzone –
Amit, wenn eine der Antworten, die Sie geholfen Bitte wählen Sie es aus (und Upvote, wenn Sie möchten). Es braucht Zeit, um diese Antworten zu erforschen, zu testen und zu schreiben. Nicht sehr cool zu fragen und zu laufen. – BeetleJuice