我试图在 php 中更改没有第二个时间戳格式,但我认为更改格式时出现问题
这是我已经尝试过的
'SELECT
user_review.*,
data_movie.*,
users.username,
user_review.DATE_FORMAT(created_at, '"%Y-%m-%d %H:%i"') AS formatted_date
FROM data_movie
INNER JOIN user_review
INNER JOIN users ON data_movie.id = user_review.id_movie
WHERE genre LIKE "'. $genre .'%"
ORDER BY created_at desc'
请帮助如何使它正确
最佳答案
您的代码有几个问题:
1) user_review.DATE_FORMAT(created_at, ...)
不是有效的 SQL 语法,应该写成 DATE_FORMAT(user_review.created_at, ...)
2) 您在格式说明符中有额外的双引号:'"%Y-%m-%d %H:%i"'
应该写成 '%Y-% m-%d %H:%i'
3) user_review
上的 INNER JOIN
无效,因为它缺少用于表达连接条件的 ON
子句。它实际上似乎与 users
上的下一个连接混合在一起。我假设您在 user_review.user_id
和 users.id
之间存在关系(您可能需要调整该子句以匹配您的表结构)
4) WHERE
子句中,LIKE
运算符的右侧应该用单引号括起来,而不是用双引号括起来。
这是您更新后的查询。我将周围的引号从单引号更改为双引号,以便更轻松地在查询中嵌入单引号。
"SELECT
user_review.*,
data_movie.*,
users.username,
DATE_FORMAT(user_review.created_at, '%Y-%m-%d %H:%i') AS formatted_date
FROM
data_movie
INNER JOIN user_review ON data_movie.id = user_review.id_movie
INNER JOIN users ON user_review.user_id = users.id
WHERE genre LIKE '". $genre ."%' order by created_at desc"
关于php - 如何在mysql中更改没有秒的时间戳格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54201036/