这对许多人来说听起来像是一个非常简单的问题,但我似乎无法获得基本的date_format来处理我的mySQL语句然后使用php显示。这是我目前的代码:
$result = mysql_query("SELECT *, DATE_FORMAT('timestamp', '%W %D %M %Y') as date FROM articleDB WHERE userID='".$_SESSION["**"]."' ORDER BY timestamp DESC LIMIT 8");
然后尝试使用以下方式显示它:
echo ' Posted: '.$row['timestamp'].'';
我想要的只是将PHP myAdmin时间戳的日期格式化为我想要的格式。
干杯
答案 0 :(得分:7)
在查询字段周围使用反引号(``) or nothing at all instead of single-quotes (
'`):
$result = mysql_query("SELECT *, DATE_FORMAT(`timestamp`, '%W %D %M %Y') as date FROM articleDB WHERE userID='".$_SESSION["**"]."' ORDER BY timestamp DESC LIMIT 8");
反引号(“) creates a reference to a table member, single-quotes creates a string (
”). You were basically trying to
DATE_FORMAT the string
'timestamp'`而不是字段。
此外,由于您使用as
创建字段别名,因此您希望在输出时使用别名引用该字段:
echo ' Posted: '.$row['date'];
答案 1 :(得分:2)
您需要在select语句中显示您计算/格式化的“日期”列,时间戳列包含未格式化的原始日期值。
echo ' Posted: '.$row['date'];
答案 2 :(得分:0)
因为在您的SQL查询中,您定义了as date
访问它的日期格式$row['date']
。