DATE_FORMAT

Résolu/Fermé
ceda13 Messages postés 84 Date d'inscription samedi 6 avril 2013 Statut Membre Dernière intervention 4 août 2023 - 10 juin 2021 à 02:25
ceda13 Messages postés 84 Date d'inscription samedi 6 avril 2013 Statut Membre Dernière intervention 4 août 2023 - 10 juin 2021 à 15:38
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

jordane45 Messages postés 38346 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 16 décembre 2024 4 717
Modifié le 10 juin 2021 à 06:35
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;


0
ceda13 Messages postés 84 Date d'inscription samedi 6 avril 2013 Statut Membre Dernière intervention 4 août 2023
10 juin 2021 à 11:20
Non ça ne marche toujours pas
0
jordane45 Messages postés 38346 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 16 décembre 2024 4 717
10 juin 2021 à 11:43
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://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code
0
ceda13 Messages postés 84 Date d'inscription samedi 6 avril 2013 Statut Membre Dernière intervention 4 août 2023
Modifié le 10 juin 2021 à 15:31
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;

0
ceda13 Messages postés 84 Date d'inscription samedi 6 avril 2013 Statut Membre Dernière intervention 4 août 2023
10 juin 2021 à 15:38
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
0