【问题标题】:Sort by minute doesn't work按分钟排序不起作用
【发布时间】:2013-03-06 23:44:42
【问题描述】:

我正在尝试按小时和分钟对我的照片进行排序,但它无法捕捉到分钟 - 它只是一直说在那一小时和一分钟内什么都不存在。如果我只想在下班后进行排序,那效果很好。我已经测试了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 ...

除了为 Apache 和 PHP 激活的一些模块(如 mod_rewrite 和 php_exif)外,我使用的是默认设置的 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'] 是分钟。

我该如何解决我的问题?

提前致谢。

【问题讨论】:

    标签: sql hour datepart minute


    【解决方案1】:

    你在使用 MySQL 吗?如果为真,则 DATEPART() 函数不存在。你应该使用 MINUTE() 函数..

    这是完整的文档。

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

    顺便说一句,看在上帝的份上,在发送到 SQL 查询之前清理你的 _GET 变量。您正在将您的系统暴露给 SQL 注入。

    【讨论】:

    • 是的。我正在使用 MySQL,我正在使用它 - MINUTE()。但它不像我想要的那样工作。它只是一直说我的数据库中不存在特定的分钟,但它确实存在!清理我的 _GET 变量?非常感谢 :) 我以前没有考虑过。
    【解决方案2】:

    现在以某种奇怪的方式与我在问题 O.o 中发布的 SQL 查询完美配合

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-17
      • 2016-02-10
      • 1970-01-01
      • 2014-02-17
      • 2018-08-14
      • 2018-04-17
      相关资源
      最近更新 更多