DATE_FORMAT [Résolu]

Signaler
Messages postés
46
Date d'inscription
samedi 6 avril 2013
Statut
Membre
Dernière intervention
10 juin 2021
-
Messages postés
46
Date d'inscription
samedi 6 avril 2013
Statut
Membre
Dernière intervention
10 juin 2021
-
Bonjour,

J'ai un problème. Lorsque je Select la date simple dans ma requête de mon fichier PHP mon programme fonctionne mais dès que je met le DATE_FORMAT pour la formater plus rien ne marche. Alors que la requête fonctionne dans MySQL Query Browser.
Est-ce qu'il faut faire une conversion spécifique pour le transport selon vous ?

function getDateDirect($IDSITE) {
try {
// connexion à la base de données
$bdd = connexionBdd();
$requete = $bdd->prepare("SELECT DATE_FORMAT(date_mesure,"%d/%m/%Y") FROM mesure WHERE id_site=:id ORDER by date_mesure DESC LIMIT 1;");
$requete->bindParam(":id", $IDSITE);
// execution de la requete
$requete->execute() or die(print_r($requete->errorInfo()));
$ligne = $requete->fetch();
if ($requete->rowCount() == 1) {
$resultat = $ligne["date_mesure"];
}
// libération de la ressource
$requete->closeCursor();
return $resultat;
} catch (PDOException $e) {
print "Erreur !: " . $e->getMessage() . "<br/>";
die();
}
}


Configuration: Windows / Chrome 91.0.4472.77

4 réponses

Messages postés
32938
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
10 juin 2021
3 555
Avec un alias ça marchera mieux
SELECT DATE_FORMAT(date_mesure,"%d/%m/%Y") as date_mesure
FROM mesure 
WHERE id_site=:id ORDER by date_mesure DESC LIMIT 1;


Cordialement,
Jordane
Messages postés
46
Date d'inscription
samedi 6 avril 2013
Statut
Membre
Dernière intervention
10 juin 2021

Non ça ne marche toujours pas
Messages postés
32938
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
10 juin 2021
3 555
Montre ton code corrigé
Montre nous aussi un var_dump de ta variable $ligne

Et.. enlève tes "'die" dans ton code...
Pour PDO, applique ceci : https://www.commentcamarche.net/faq/48399-php-gestion-des-erreurs-debogage-et-ecriture-du-code
Messages postés
46
Date d'inscription
samedi 6 avril 2013
Statut
Membre
Dernière intervention
10 juin 2021

Le code corrigé :

$bdd = connexionBdd();
$requete = $bdd->prepare("SELECT DATE_FORMAT(date_mesure,"%d/%m/%Y") as fin FROM mesure WHERE id_site=:id ORDER by date_mesure DESC LIMIT 1;");
$requete->bindParam(":id", $IDSITE);
// execution de la requete
$requete->execute();
$ligne = $requete->fetch();
var_dump($ligne);
if ($requete->rowCount() == 1) {
$resultat = $ligne["fin"];
}
// libération de la ressource
$requete->closeCursor();
return $resultat;

Messages postés
46
Date d'inscription
samedi 6 avril 2013
Statut
Membre
Dernière intervention
10 juin 2021

J'ai trouvé !
Il fallait mettre les simples quotes ' au début et à la fin de la requête comme il se sert des doubles " pour le DATE_FORMAT