首先从'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)
答案 0 :(得分:0)
您的查询存在的问题是,您需要围绕日期常量使用单引号。
但是,为什么还要把日期从数据库移到应用程序?只需使用一个查询:
SELECT *
FROM table
WHERE date < (SELECT date FROM table WHERE ordinal = 5555)
ORDER BY date DESC
LIMIT 1;