Я пытаюсь выбрать из SQL столбец с форматом datetime, например 2017-12-31 12:01:12
, но мне нужно выбрать только дату, например, 2017-12-31
на основе даты, которую пользователь ввел в форму и отправил. Цель состоит в том, чтобы выбрать все действия в течение этой даты.
Пример: формат входных данных в форме — yyyy-mm-dd
только , однако в SQL даты хранятся как yyyy-mm-dd hh:mm:ss
, если входная дата — это yyyy-mm-dd
формат , это будет проигнорировано, так как данные столбца хранятся в этом формате yyyy-mm-dd hh:mm:ss
.
Как мне выбрать yyyy-mm-dd
только из yyyy-mm-dd hh:mm:ss
столбца?
$mysql=("SELECT action_time FROM table WHERE action_time ='".$date."' Order by
action_time DESC");
решение1
Если вас интересует только дата, используйтеDATE()
:
SELECT DATE(action_time) FROM table;
Обратите внимание, что вы всегда должны проверять вводимые пользователем данные, так как клиентская часть (HTML и JS) может быть изменена для отправки произвольных данных на ваш сервер. Также проверьтекак предотвратить SQL-инъекцию в PHP?