Как сравнить только дату с датой DateTime в php? - PullRequest
0 голосов
/ 14 мая 2018

У меня есть столбец с именем DDateTime и его тип DateTime.

Я хочу сравнить только дату с DDateTime с датой ввода.

Пример: '14 -05-2018 08:00:00 '= '14 -05-2018'

Как я могу сравнить только дату из DateTime переменной?

$sql = "SELECT * 
        FROM ride 
        WHERE RideFrom = '$RideFrom' 
        and RideTo = '$RideTo' 
        and CONVERT(VARCHAR(10), DDateTime, 103) = '14-05-2018';";

Я пробовал этот запрос, но он не работал

Ответы [ 2 ]

0 голосов
/ 14 мая 2018

Вот два метода.
Выберите тот, который вам нравится.

$str ='14-05-2018 08:00:00';

echo substr($str, 0, 10). "\n";
echo date("d-m-Y", strtotime($str));

Substr всегда будет принимать первые десять символов, какими бы они ни были.
Date попытается проанализировать и сделать unixtime, а затем преобразовать в строку даты.

0 голосов
/ 14 мая 2018

Вы можете использовать для этого функцию MySQL DATE() и упростить ее

AND DATE(DDateTime) = '14-05-2018'

Хотя я должен отметить, что ваш сценарий широко открыт для Атака SQL-инъекцией Даже , если вы избегаете входов, это не безопасно! Используйте подготовленные параметризованные операторы в API MYSQLI_ или PDO

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...