Ich habe ein Feld in meiner Datenbank als TEXT (Ich weiß, ich sollte Datum verwenden, aber dieses Feld könnte mehr Werte als nur Datum haben). Da sie nur ein paar sind, wird es keine Leistung abheben.MySQL Suche als date_format funktioniert nicht
Mein Problem ist die Abfrage, da es immer keine Werte zurückgibt. Aber wenn ich die Abfrage manuell mache, funktioniert es gut. Ich denke es muss etwas mit der Abfrage in vorbereiteten Anweisungen sein aber kann es nicht bekommen.
$date = date("d/m/Y");
$query = "SELECT * FROM projects WHERE DATE_FORMAT(expiredate, '%d/%m/%Y') >= DATE_FORMAT(?, '%d/%m/%Y') && id >= (SELECT FLOOR(MAX(id) * RAND()) FROM adsfixed) ORDER BY id LIMIT 1";
Die Abfrage eine zufällige Reihe bekommen in Projekten Tabelle sollte, wo Spalt expiredate größer oder gleich als heute in d/m/Y-Format (weiß nicht, ob die Logik in Ordnung ist, so dass ich versuchen, erkläre, was ich brauche).
nicht Strings vergleichen (mit Datum). Sie müssen die Daten vergleichen – Jens
Und wie kann ich es tun, da das Feld Zeichenfolge ist und ich es als Datum suchen muss? – Tiago
Siehe meine Antwort unter – Jens