错误1064您的SQL语法中有错误

时间:2014-04-29 15:32:22

标签: mysql sql syntax-error

我们正在创建一个新网站,到目前为止还没有任何问题。我们仍然可以访问我们的管理面板,但昨天此消息显示在主页的位置:

  

1064 - 您的SQL语法出错;检查与您的MySQL服务器版本对应的手册,以便在')AND附近使用正确的语法(a.publish_up ='0000-00-00 00:00:00'或者a.publish_up< ='2014-04-29 15:2'在第1行SQL =

SELECT
  a.*,
  c.name as categoryname,
  c.id as categoryid,
  c.alias as categoryalias,
  c.params as categoryparams
FROM
  am4xy_k2_items as a
  LEFT JOIN am4xy_k2_categories c ON c.id = a.catid
WHERE
  a.published = 1
  AND a.access IN(1,1)
  AND a.trash = 0
  AND c.published = 1
  AND c.access IN(1,1)
  AND c.trash = 0
  AND a.catid IN()
  AND ( a.publish_up = '0000-00-00 00:00:00' OR a.publish_up <= '2014-04-29 15:25:15' )
  AND ( a.publish_down = '0000-00-00 00:00:00' OR a.publish_down >= '2014-04-29 15:25:15' )
ORDER BY a.created ASC
LIMIT 0, 16

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

IN()不能为空:

AND a.catid IN()

您需要添加缺失值,或者在没有缺失值时将其删除。

答案 1 :(得分:0)

我刚好在空中留下了一个名为&#34;类别&#34;在Joomla的!Cagenda组件表单的Filter部分中。

因此系统自动将sql构建为AND a.catid IN (),并且&#34; IN&#34;中没有值。言。

检查所有字段是否具有所需的值;)