DATE_FORMAT

Résolu
ceda13 Messages postés 95 Statut Membre -  
ceda13 Messages postés 95 Statut Membre -
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

  1. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
     
    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
  2. ceda13 Messages postés 95 Statut Membre
     
    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
  3. ceda13 Messages postés 95 Statut Membre
     
    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