gpt4 book ai didi

mysql - 为什么这个简单的 MySQL 语句不起作用?

转载 作者:行者123 更新时间:2023-11-29 15:03:48 24 4
gpt4 key购买 nike

我正在尝试将用户输入的搜索词与两个表进行匹配:帖子和画廊。问题是 union all 子句不起作用。我的代码有问题吗?

$query = mysql_query("

SELECT * FROM posts WHERE title LIKE '%$searchTerm%'
OR author LIKE '%$searchTerm%'
OR location LIKE '%$searchTerm%'
OR excerpt LIKE '%$searchTerm%'
OR content LIKE '%$searchTerm%'

UNION ALL

SELECT * FROM galleries WHERE title LIKE '%$searchTerm%'

");

最佳答案

当您对两个查询执行 UNION ALL 时,它要求您从两个表中获取相同数量的列、相同的数据类型和相同的顺序。由于您正在执行 SELECT *,这意味着 postsgalleries 具有完全相同的列数、相同类型,以相同的顺序。我怀疑情况确实如此(但我猜你可能会很幸运)。

<小时/>

进行编辑以添加如何完成这项工作的示例

您需要使列号/类型匹配,您可以使用这种方法来完成(我猜测您需要哪些列,并且只需为我假设的列添加“N/A”) 图库中不存在):

SELECT title, author, location, excerpt, content
FROM posts
WHERE title LIKE '%$searchTerm%'
OR author LIKE '%$searchTerm%'
OR location LIKE '%$searchTerm%'
OR excerpt LIKE '%$searchTerm%'
OR content LIKE '%$searchTerm%'

UNION ALL

SELECT title, 'N/A', 'N/A', 'N/A', 'N/A'
FROM galleries
WHERE title LIKE '%$searchTerm%'

关于mysql - 为什么这个简单的 MySQL 语句不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2589010/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com