2015-05-16 102 views
0

我似乎無法正確使用str_to_date。我試試這個:PHP MYSQL str_to_date問題

$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'是英文後綴(第一,第二等)的日期,與您的日期格式不匹配。請參閱https://dev.mysql.com/doc/refman/5.5/zh-CN/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