gpt4 book ai didi

mysql - MySQL在多个表中应用通配符不起作用

转载 作者:行者123 更新时间:2023-11-29 16:38:16 25 4
gpt4 key购买 nike

我试图使搜索框可以使用mysql通配符从多个表进行搜索,并将结果显示为输出。

错误代码为:

警告:mysqli_error()恰好需要1个参数,第16行的C:\ xampp \ htdocs \ test \ crud21 \ search.php中给出的参数为0

Code Image

最佳答案

使用UNION从多个表中获取结果并将其合并。

SELECT name
FROM bd
WHERE name LIKE '%$query%'
UNION
SELECT name
FROM info
WHERE name LIKE '%$query%'
UNION
SELECT name
FROM users
WHERE name LIKE '%$query%'


如果您确实要联接所有表,则需要分别为每个表指定名称匹配。

SELECT b.*, i.*, n.*
FROM bd AS b
CROSS JOIN info AS i
CROSS JOIN users AS u
WHERE b.name LIKE '%$query%' AND i.name LIKE '%$query%' AND u.name LIKE '%$query%'


但是,这将创建每个表中所有匹配行的叉积,很难看出您期望它如何有用。并且,如果任何一个表都没有匹配的行,则将产生一个空的叉积。

关于mysql - MySQL在多个表中应用通配符不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53471175/

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