2015-05-16 3 views
0

Я не могу правильно использовать str_to_date. Я пробовал это:PHP MYSQL str_to_date issue

$test = "Fri May 01 2015 00:00:00"; 
$sql = "SELECT * FROM ax_timestamps WHERE str_to_date('$test', '%D %M %d %Y %H:%i:%s') < datetimefeild ORDER BY id ASC"; 

Но его не тянет данные из базы данных, что он должен.

Например, база данных содержит поля даты и времени с этим значением, которое должно быть извлечена:

2015-05-16 07:44:56 
+0

(1) В чем проблема, с которой вы сталкиваетесь? Примеры данных и желаемые результаты очень полезны. (2) У вас действительно есть столбец с именем «datetimefeild» (misspelt)? –

+0

@GordonLinoff, что означает «misspelt»? –

+0

@Fatemeh. , , Это несколько старый способ написать «с ошибкой», что означает, что слово написано неправильно. (Http://dictionary.reference.com/browse/misspelt). –

ответ

0

Это значение% D оно не нравится по каким-то причинам , После обрезки все работало, как ожидалось.

$test = "May 01 2015 00:00:00"; 
$sql = "SELECT * FROM ax_timestamps WHERE str_to_date('$test', '%M %d %Y %H:%i:%s') < datetimefeild ORDER BY id ASC"; 
+0

«По какой-то причине» заключается в том, что '% D' - это день с английским суффиксом (1-й, 2-й и т.д.), который не соответствует вашему формату даты. См. Https://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_date-format –

0

попробовать это:

$sql = "SELECT * FROM `ax_timestamps` WHERE str_to_date($test, '%D %M %d %Y %H:%i:%s') < `datetimefeild` ORDER BY `id` ASC"; 
+0

Нет, он все равно не возвращает никаких результатов, несмотря на то, что строка с образцом Lukesmith