Frage

Entschuldigt, wenn dies bereits viele Male, aber ich bin nicht in der Lage zu finden, die Antwort und ich war verblüfft.

beantwortet

Ich habe eine MySQL-Abfrage, die scheinbar das Ergebnis ausgibt, ich will, wenn ich es in der Datenbank ausgeführt - aber wenn ich die Abfrage durch PHP laufen, ist es nicht korrekt ausgegeben werden

.

In der Datenbank werden Daten wie folgt gespeichert:

2009-08-13T00:00:00

Was ich tun möchte, werden die Daten nicht anzeigen, die älter sind als heutige Datum ist. Also, in der where-Klausel ist dies tun:

        WHERE dateField1 >= DATE_FORMAT(now(),'%Y-%m-%d') AND dateField2 >= DATE_FORMAT(now(),'%Y-%m-%d')

Meine Absicht ist es, den Zeitteil auszuziehen, wie ich einen Weg zu finden, zu kämpfen hatte, die Zeit Teil der jetzt (), um Mitternacht zu konvertieren.

Dies scheint zu funktionieren, wenn ich es auf phpMyAdmin laufen, aber wenn ich den PHP-Skript ausführen, es funktioniert nicht.

Irgendwelche Ideen?

Vielen Dank!

War es hilfreich?

Lösung

  

Dies scheint zu funktionieren, wenn ich es auf phpMyAdmin laufen, aber wenn ich den PHP-Skript ausführen, es funktioniert nicht.

Sie verwenden nicht so etwas wie sprintf die Zeichenfolge zu bauen sind Sie? Wenn ja, müssen Sie die % mit einem anderen % entkommen

In jedem Fall können Sie die Funktion DATE()

WHERE `dateField1` > DATE(NOW())

Andere Tipps

Nickf ist richtig. Ich bin damit einverstanden, dass mit.

Bei Verwendung von sprintf () Funktion, um eine SQL-Aufruf zu machen, können Sie Ihre Anfrage in diese drehen kann:

  $query = sprintf("SELECT * FROM SOME_TABLE WHERE id=%s AND dateField1 >= DATE_FORMAT(now(),'%%Y-%%m-%%d') AND dateField2 >= DATE_FORMAT(now(),'%%Y-%%m-%%d')", $id);
//Then submit $query for SQL query processing...

PHP siehe% als Typspezifizierer wenn sprintf () verwenden.

Um dies zu entkommen, müssen Sie ein weiteres% vor MySQL Format-String hinzuzufügen, das heißt, %% Y oder %% m oder %% d. Die tatsächliche Ausgabe zu MySQL-Abfrage würde% Y oder% m oder% d wieder.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top