2009-07-06 9 views
2

Dans la base de données MySQL i ont cette colonne appelée:requête Mysql: récupérer la date actuelle requête

Nom: Date

Type: datetime

J'ai quelques valeurs dans cette colonne:

2009 -01-05 01:23:35

2009-03-08 11:58:11

2009-07-06 10:09:03

Comment puis-je récupérer la date actuelle? J'utilise php.

en php:

<?php $today = date('Y-m-d');?> 

Comment écrire une requête MySQL pour récupérer toutes les données de la date d'aujourd'hui?

Dois-je changer le type de colonne à "date", puis insérer des valeurs comme "2009-07-06" seulement, pas de valeurs de temps ???

Répondre

15

Vous n'avez pas besoin d'utiliser PHP, MySQL a une fonction pour obtenir la date actuelle:

SELECT field FROM table WHERE DATE(column) = CURDATE() 

Documentation: CURDATE, DATE.

Si votre colonne n'a besoin que de la partie date et jamais de l'heure, vous devez changer le type de colonne en DATE. Si vous insistez pour le faire par PHP, il est la même chose, vraiment:

$today = date('Y-m-d'); 
$query = mysql_query(" 
    SELECT field FROM table WHERE DATE(column) = '$today' 
"); 
+0

Ceci est ma dernière option. Cuz mon fuseau horaire de serveur est différent de mon pays. Je stocke la valeur date dans mon fuseau horaire local ... – jingleboy99

+0

Je peux voir la similitude, mais j'ai juste peur, juste au cas où, conflit de fuseau horaire. Donc, je dois changer ma colonne à "date" d'abord à droite? Merci beaucoup pour la réponse rapide. – jingleboy99

+0

Si vous remplacez votre colonne par DATE, vous pouvez supprimer l'appel de la fonction DATE() autour de la colonne. Cette fonction est utilisée pour extraire le DATE d'une colonne DATETIME pour la comparaison. Si vous avez seulement besoin de la DATE, vous devriez probablement changer votre type de colonne. –

1

Pour le temps de date n'est pas utile, au lieu que j'essayer cela et travailler ...

Visiteurs du jour!

sql>select user_id from users where last_visit like concat('%' , CURDATE() , '%');

// coloumn LAST_VISIT de type 'datetime'