Requête SQL avec DateDiff

Fermé
parousky Messages postés 325 Date d'inscription mardi 11 septembre 2012 Statut Membre Dernière intervention 20 février 2022 - Modifié par jordane45 le 14/01/2016 à 18:46
jordane45 Messages postés 38314 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 24 novembre 2024 - 14 janv. 2016 à 18:55
Bonjour,
j'aimerais exécuter une requête SQL qui me renvoie uniquement les lignes d'une table dont un attribut Time (de type DateTime) est éloigné d'au plus 2 minutes avec la date à laquelle est exécutée la requête.

Alors je me suis penché sur le DateDiff, mais entre les formats, les " et les ', je me suis bien paumé !
Alors voilà mon code :

$dateNow = new DateTime(date("Y-m-d H:i:s"));
$newDate = $dateNow->sub(new DateInterval('P2M'));



 $sql = 'SELECT DATEDIFF(mi, '.$dateNow->format("Y-m-d H:i:s").', '.$newDate->format("Y-m-d H:i:s").') As Time FROM connect';
 
 $reqConnect = $bdd->prepare($sql);
 $reqConnect->execute(array());
 $donneesConnect = $reqConnect->fetch();
 
 echo $donneesConnect['Time'];


Et ça ne renvoie rien alors que j'ai bien vérifié dans ma bdd que des résultats devaient être retournés...

Voyez-vous une erreur dans mon code ?
Merci d'avance !

EDIT : Ajout du LANGAGE dans les balises de code (la coloration syntaxique).
Explications disponibles ici : ICI

Merci d'y penser dans tes prochains messages.

1 réponse

jordane45 Messages postés 38314 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 24 novembre 2024 4 705
14 janv. 2016 à 18:54
Bonjour,

Une requête de ce genre devrait faire l'affaire :
SELECT *
FROM tatable
WHERE TIMESTAMPDIFF(MINUTE,NomduchampContenantLaDate,NOW()) <  20 


Comme tu peux le constater .... tout est fait dans la requête.
Il n'y a aucun calcul de date en php ....

Je t'invite à la tester en DIRECT dans ta BDD avant d'essayer de l'utiliser via du PHP.


0
jordane45 Messages postés 38314 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 24 novembre 2024 4 705
14 janv. 2016 à 18:55
Penses à modifier le nom des variables bien entendu...
  • NomduchampContenantLaDate
  • tatable
0