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 ...

mod_rewriteやphp_exifなど、ApacheとPHPの両方でアクティブ化された一部のモジュールを除いて、デフォルト設定でWAMPサーバーを使用しています。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']分です。

どうすれば問題を解決できますか?

前もって感謝します。

4

2 に答える 2

0

MySQLを使用していますか?trueの場合、DATEPART()関数は存在しません。MINUTE()関数を使用する必要があります。

これが完全なドキュメントです。

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

ところで、神のために、SQLクエリに送信する前に_GET変数をサニタイズします。システムをSQLインジェクションにさらしています。

于 2013-03-06T23:50:14.043 に答える
0

奇妙なことに、質問Ooに投稿したSQLクエリで完全に機能しています。

于 2013-03-07T00:19:10.203 に答える