Obtendo mySQL date_format para exibição em PHP
-
12-09-2019 - |
Pergunta
Isto pode soar como uma pergunta muito simples para muitos de vocês, mas eu pareço estar tendo problemas para obter um date_format básica para trabalhar com a minha declaração mySQL e depois a ser exibido usando php. Aqui está o código que eu tenho atualmente:
$result = mysql_query("SELECT *, DATE_FORMAT('timestamp', '%W %D %M %Y') as date FROM articleDB WHERE userID='".$_SESSION["**"]."' ORDER BY timestamp DESC LIMIT 8");
Em seguida, tentar exibi-lo usando:
echo ' Posted: '.$row['timestamp'].'';
Tudo que eu quero é formatar a data de um timestamp PHP MyAdmin para o formato que eu quero.
Felicidades
Solução
Use backticks ( `` ) or nothing at all instead of single-quotes (
'`) em torno de seu campo em sua consulta:
$result = mysql_query("SELECT *, DATE_FORMAT(`timestamp`, '%W %D %M %Y') as date FROM articleDB WHERE userID='".$_SESSION["**"]."' ORDER BY timestamp DESC LIMIT 8");
Backticks ( `` ) creates a reference to a table member, single-quotes creates a string (
'). You were basically trying to
DATE_FORMATthe string
'timestamp'` em vez do campo.
Além disso, desde que você está usando as
para criar um alias de campo, você quer se referir a esse campo usando o alias quando a saída:
echo ' Posted: '.$row['date'];
Outras dicas
você precisa exibir a coluna "data" que você calcular / formato na instrução SELECT, a coluna timestamp contém o valor data original não formatado.
echo ' Posted: '.$row['date'];
já que em sua consulta SQL que você definir o as date
data formatação que você acessá-lo por $row['date']
.