Requête SQL avec DateDiff
parousky
Messages postés
325
Date d'inscription
Statut
Membre
Dernière intervention
-
jordane45 Messages postés 38486 Date d'inscription Statut Modérateur Dernière intervention -
jordane45 Messages postés 38486 Date d'inscription Statut Modérateur Dernière intervention -
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 :
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 !
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. |
A voir également:
- Requête SQL avec DateDiff
- Logiciel sql - Télécharger - Bases de données
- Sql (+) - Forum Programmation
- Sql lister les tables ✓ - Forum Programmation
- Requête bloquée par le pare-feu applicatif claranet webfence ✓ - Forum Réseaux sociaux
- Jointure sql ✓ - Forum MySQL
1 réponse
Bonjour,
Une requête de ce genre devrait faire l'affaire :
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.
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.
jordane45
Messages postés
38486
Date d'inscription
Statut
Modérateur
Dernière intervention
4 752
Penses à modifier le nom des variables bien entendu...
- NomduchampContenantLaDate
- tatable