Mysql错误获取以前的日期记录

时间:2014-08-25 02:13:47

标签: php mysql

首先从'table'中选择一行

$query_set1 = "SELECT * FROM table WHERE ordinal = 5555 ";
$set1 = mysql_query($query_set1, $table));
$row_set1 = mysql_fetch_assoc($set1);

然后我想选择以前的日期记录

$query = sprintf("SELECT * FROM table WHERE date = (SELECT MAX(date) FROM table WHERE date < %s) ", $row_set1['date']);

我收到此错误

  

您的SQL语法有错误;检查手册   对应于您的MySQL服务器版本,以便使用正确的语法   在'08:43:30'附近'第1行

这是解释的$ query

SELECT * FROM table WHERE date = (SELECT MAX(date) FROM table WHERE date < 2014-08-07 08:43:30)

1 个答案:

答案 0 :(得分:0)

您的查询存在的问题是,您需要围绕日期常量使用单引号。

但是,为什么还要把日期从数据库移到应用程序?只需使用一个查询:

SELECT *
FROM table
WHERE date < (SELECT date FROM table WHERE ordinal = 5555)
ORDER BY date DESC
LIMIT 1;