-1
我有这样的查询索引我的图片,并通过普及命令他们,但我不能让用户选择的时间间隔的原因有什么毛病查询:MySQL查询日期错误
switch($Data['data']){
case 'daily':$QueryDate='=CURDATE()';break;
case 'weekly':$QueryDate=' BETWEEN SUBDATE(CURDATE(), INTERVAL 7 DAYS) AND NOW()';break;
case 'monthly':$QueryDate='>CURDATE() - INTERVAL 31 DAYS';break;
default: Core::redirect('image/browse/daily/1');break;
}
$IMGDB = new Database('images');
$query = "SELECT *, (derived.`likes` * 2 + derived.`views`) as `popularity` from
(SELECT *,
(SELECT COUNT(*) FROM `likes` WHERE `like`=I.id AND `date`".$QueryDate.") AS `likes`,
(SELECT SUM(`views`) FROM `views` WHERE `id`=I.id AND `date`".$QueryDate.") AS `views`
FROM images AS I
) AS derived
where 1 ORDER BY `popularity` DESC ";
只有日常情况下工作。
以下是错误:
SQL Error (1064): You have an error in your SQL syntax;..... to use near 'DAYS) AND NOW()) AS likes, (SELECT SUM(views) FROM views WHERE id= I.id A
什么是你的错误? –
@TarynEast SQL错误(1064):您的SQL语法有错误; .....在'DAYS'和NOW())之间使用AS'likes',(SELECT SUM('views')FROM'views 'WHERE'id' = I.id A' –
'INTERVAL 7 DAY',not'DAYS'。 – Sammitch