Php mysql多表全文查询问题?
我正在进行一个多表全文查询。但是我遇到了一些问题。 我需要做一个类似这样的查询Php mysql多表全文查询问题?,php,mysql,full-text-search,Php,Mysql,Full Text Search,我正在进行一个多表全文查询。但是我遇到了一些问题。 我需要做一个类似这样的查询 (SELECT title,content,date,cat FROM article1 WHERE cat='Science fiction' AND MATCH (title,content) AGAINST ('+Harry +Potter' IN BOOLEAN MODE)) UNION (SELECT title,content,date FROM article3 WHERE M
(SELECT
title,content,date,cat
FROM article1
WHERE
cat='Science fiction'
AND
MATCH (title,content)
AGAINST
('+Harry +Potter' IN BOOLEAN MODE))
UNION
(SELECT
title,content,date
FROM article3
WHERE MATCH (title,content)
AGAINST
('+Harry +Potter' IN BOOLEAN MODE))
Order By date DESC LIMIT 10
但它导致了警告:mysql\u fetch\u array():提供的参数不是有效的mysql结果资源
如果我删除了cat='scientific',并且它可以通过测试
问题在哪里?如果我想做一个我想要的查询:第一个全文查询需要满足cat='scientific'
。非常感谢。是否返回FALSE,表示解析查询时出现问题?如果您盲目地将“FALSE”传递到mysql\u fetch\u array(),我希望看到这种错误。试试看
cat LIKE 'Science fiction'
您正在尝试合并返回不同列数的结果集。第一个查询返回4列(标题、内容、日期、类别),而第二个查询只返回3列(标题、内容、日期)。每个查询必须返回相同数量的列。我不知道为什么删除类似猫的“科幻小说”
会使查询工作。如前所述,这两种情况下都不应该起作用UNION
要求查询的两个部分生成相同数量的具有兼容类型的列。您的UNION
在第一部分有4列,在第二部分有3列:
SELECT title, content, date, cat FROM article1
UNION
SELECT title, content, date FROM article3
@Joe Stefanelli,那么如何解决我遇到的问题呢?如果我需要这样的查询。@cj333:在查询的第二部分添加一个cat列。如果第3条中没有合适的栏目可供使用,则使用constant@cj333:如果在第二个查询中不需要cat列,则将该第二个查询修改为
选择标题、内容、日期,空为cat…
@Joe Stefanelli,选择标题、内容、日期,空为cat…
,即可运行。谢谢