为什么不起作用
...
) as Data
WHERE UNIX_TIMESTAMP(Data.DateTime) <= UNIX_TIMESTAMP(SELECT DateTime from mytable WHERE ID = $inputID)
如果我没有这个嵌入的sql语句,它似乎可以工作,但sql语句本身也可以工作,所以我不确定为什么组合会导致失败。
它告诉我
请查看您的MySQL服务器版本,以获取要在附近使用的正确语法第1行的"从mytable WHERE ID=1008)中选择日期时间"
尝试用额外的parens()包围SQL:
WHERE UNIX_TIMESTAMP(Data.DateTime) <= UNIX_TIMESTAMP((SELECT DateTime from mytable WHERE ID = $inputID))
使用此:
...
) as Data
WHERE UNIX_TIMESTAMP(Data.DateTime) <= (SELECT UNIX_TIMESTAMP(DateTime) from mytable WHERE ID = $inputID)
如果DateTime的类型为DateTime,则也可以使用:
...
) as Data
WHERE Data.DateTime <= (SELECT DateTime from mytable WHERE ID = $inputID)