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']分钟。

我该如何解决我的问题?

提前致谢。

4

2 回答 2

0

你在使用 MySQL 吗?如果为真,则 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 回答