как изменить формат отметки времени без секунд в MySQL - PullRequest
0 голосов
/ 15 января 2019

я пытался изменить формат отметки времени без секунды в 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'

пожалуйста, помогитекак правильно сделать

Ответы [ 3 ]

0 голосов
/ 15 января 2019

Попробуйте это в своем php-коде, у вас есть ошибки во всех ваших "и":

$query="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 
        INNER JOIN users ON data_movie.id = user_review.id_movie 
        WHERE genre LIKE '". $genre ."%' order by created_at desc";
0 голосов
/ 15 января 2019

Есть несколько проблем с вашим кодом:

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) Недопустимо INNER JOIN в user_review, поскольку отсутствует выражение 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"
0 голосов
/ 15 января 2019

Попробуйте это

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 INNER JOIN users ON data_movie.id = user_review.id_movie WHERE genre LIKE "'. $genre .'%" ORDER BY created_at DESC
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...