Obtenir mySQL date_format pour afficher en PHP
-
12-09-2019 - |
Question
Cela pourrait sembler une question très simple à beaucoup d'entre vous, mais il me semble avoir du mal à obtenir un date_format de base pour travailler avec ma déclaration mySQL puis à afficher en utilisant php. Voici le code que j'ai actuellement:
$result = mysql_query("SELECT *, DATE_FORMAT('timestamp', '%W %D %M %Y') as date FROM articleDB WHERE userID='".$_SESSION["**"]."' ORDER BY timestamp DESC LIMIT 8");
Ensuite, essayer de l'afficher à l'aide:
echo ' Posted: '.$row['timestamp'].'';
Tout ce que je veux est de formater la date d'un horodatage myAdmin PHP au format que je veux.
Vive
La solution
Utilisez les apostrophes inverses ( `` ) or nothing at all instead of single-quotes (
'`) autour de votre champ dans votre requête:
$result = mysql_query("SELECT *, DATE_FORMAT(`timestamp`, '%W %D %M %Y') as date FROM articleDB WHERE userID='".$_SESSION["**"]."' ORDER BY timestamp DESC LIMIT 8");
apostrophes inversées ( `` ) creates a reference to a table member, single-quotes creates a string (
'). You were basically trying to
DATE_FORMATthe string
'timestamp'` à la place du champ.
En outre, puisque vous utilisez as
pour créer un alias de champ, vous voulez faire référence à ce champ en utilisant l'alias lors de la sortie:
echo ' Posted: '.$row['date'];
Autres conseils
vous devez afficher la colonne « date » que vous calculez / format dans l'instruction select, la colonne d'horodatage contient la valeur de la date d'origine non formatée.
echo ' Posted: '.$row['date'];
puisque dans votre requête SQL vous définissez la date de mise en forme as date
vous y accédez par $row['date']
.