2013-03-06 46 views
0

我試圖按照小時和分鐘對照片進行排序,但它不會記錄分鐘 - 只是不斷說小時和分鐘都不存在。如果我只是在小時之後才進行排序,那麼它可以很好地工作。我已經測試WHERE DATEPART(minute, exif_taken) = "'.$_GET['min'].'"但我不斷收到以下錯誤消息:按分鐘排序不起作用

Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[42000]: Syntax error or access violation: 1305 FUNCTION gallery.DATEPART does not exist' in ... 

我使用WAMP服務器與除了激活Apache和PHP像mod_rewrite的和php_exif一些模塊的默認設置。這是我的SQL查詢看起來像:

SELECT * 
FROM photos 
WHERE HOUR(exif_taken) = "'.$_GET['h'].'" 
AND MINUTE(exif_taken) = "'.$_GET['min'].'" 
ORDER BY exif_taken DESC 

$_GET['h']是小時和$_GET['min']分鐘。

我該如何解決我的問題?

在此先感謝。

回答

0

在一些奇怪的方式,它現在完美的工作與我發佈在我的問題的SQL查詢O.o

0

你在使用MySQL嗎?如果爲true,則DATEPART()函數不存在。您可以使用MINUTE()功能。

以下是完整的文檔。

https://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html

順便說一句,在上帝的份,淨化你的_GET乏之前發送到SQL查詢。您正在將您的系統暴露給SQL注入。

+0

是的。我正在使用MySQL,我正在使用 - MINUTE()'。但它不工作,因爲我想它的工作。它只是說,具體的一分鐘不存在於我的數據庫,但它確實!消毒我的_GET變量?非常感謝:)我從來沒有想過那個。 – Erik 2013-03-06 23:52:54