Question

Toutes mes excuses si cela a déjà répondu à plusieurs reprises, mais je n'a pas pu trouver la réponse et j'étais déconcerté.

J'ai une requête MySQL qui sort apparemment le résultat que je veux quand je le lance dans la base de données - mais quand je lance la requête par PHP, il ne sort pas correctement

.

Dans la base de données, les dates sont stockées comme ceci:

2009-08-13T00:00:00

Ce que je veux faire est affiche pas de données qui est plus ancienne que la date d'aujourd'hui. Ainsi, dans la clause where faire ceci:

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

Mon intention est de dépouiller la partie, comme je luttais pour trouver un moyen de convertir la partie de temps maintenant () à minuit.

Cela semble fonctionner quand je le lance sur phpMyAdmin, mais quand je lance le script PHP, il ne fonctionne pas.

Toutes les idées?

Merci beaucoup!

Était-ce utile?

La solution

  

Cela semble fonctionner quand je le lance sur phpMyAdmin, mais quand je lance le script PHP, il ne fonctionne pas.

Vous n'êtes pas utiliser quelque chose comme sprintf pour construire la chaîne êtes-vous? Si oui, vous avez besoin d'échapper à la % avec un autre %

Dans tous les cas, vous pouvez utiliser la fonction DATE()

WHERE `dateField1` > DATE(NOW())

Autres conseils

nickf est juste. Je suis d'accord avec cela.

En cas d'utilisation de la fonction sprintf () pour faire un appel SQL, vous pouvez transformer votre requête en ceci:

  $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 voir% comme spécificateur de type pour l'utilisation de sprintf ().

Pour échapper à cela, vous devez ajouter un% devant chaîne de format MySQL, à savoir %% Y ou %% m ou %% d. Le rendement réel et de requête MySQL deviendrait% Y ou% m% d ou plus.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top