【问题标题】:1064 You have an error in your SQL syntax; - shows in my website1064 您的 SQL 语法有错误; - 在我的网站上显示
【发布时间】:2015-07-25 17:12:18
【问题描述】:

我正在开发我的新 joomla 网站,更改了一些出现的位置,然后在主页中出现语法错误并更改了所有网站设计我试图撤消所做的所有更改,但错误仍然存​​在 我收到的消息

1064 您的 SQL 语法有错误;检查手册 对应于您的 MySQL 服务器版本,以便使用正确的语法 ') AND c.access_view IN (0,1,1,5) AND c.restriction_18=0 ORDER BY i.date_start D' 在第 2 行

SELECT i.*,c.id as c_id, c.name as c_name,c.alias as c_alias,c.icon_url as c_icon_url,
r.name as r_name, img.path as img_path, img.name as img_name, img.ext as img_ext,
img.caption as img_caption
FROM l0ucm_djcf_categories c, l0ucm_djcf_items i
LEFT JOIN l0ucm_djcf_regions r ON r.id=i.region_id
LEFT JOIN ( SELECT img.id, img.item_id, img.name, img.path, img.ext, img.ordering, img.caption
     FROM (SELECT * FROM l0ucm_djcf_images WHERE type='item' ORDER BY ordering) img GROUP BY img.item_id ) AS img

ON img.item_id=i.id 
WHERE i.date_exp > '2015-07-25 16:44:45' AND i.published = 1 AND c.published = 1 
AND i.cat_id=c.id AND i.cat_id IN (9,10,11,12,13,15) 
AND i.type_id IN () AND c.access_view IN (0,1,1,5) AND c.restriction_18=0

ORDER BY i.date_start DESC limit 9

谁能帮我找出从哪里可以解决这个问题?

谢谢大家,

【问题讨论】:

  • 还寻找第 4 行(来自 c,l)中旧式连接与显式连接的融合。另外要注意两次 img 别名,大约相距几个按键
  • IN () 表达式不能为空。如果您有一个填充该 () 分组的变量,则必须在将其传递给 SQL 之前验证它是否具有非空值。如果没有生成该 SQL 的代码,我们无法协助进一步调试它。

标签: mysql sql


【解决方案1】:

问题出在AND i.type_id IN ()语句中。

IN() 函数无法获取空值。您应该检查创建查询的 php 代码并向变量添加验证,以仅在它不为空时添加语句。

【讨论】:

  • 谢谢大家,但问题仍然没有解决!你发现错误的原因是 IN() 函数不应该得到一个空值,我必须去哪个文件来解决这个问题?或者我必须改变那个 IN() 函数不返回空值?
  • 您必须提供创建查询的 php 代码。
猜你喜欢
  • 2014-05-08
  • 2020-07-09
  • 2016-10-30
  • 2017-07-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-12-27
相关资源
最近更新 更多