gpt4 book ai didi

php - 如何搜索多个 mySQL 表以找到一个特定的行?

转载 作者:可可西里 更新时间:2023-11-01 08:21:02 24 4
gpt4 key购买 nike

我有三个表:适配器、连接器、组件
我需要能够全部搜索以找到相应的零件号 (part_num)
部件号是唯一的,因此我不必担心多次输入。

我使用 GET 在 URL 中查找部件号,将其设置为 $num,然后执行 SELECT

我发现我应该使用 UNION,但是这三个表有不同的列,它在尝试进行选择时给我一个错误。在下面的例子中

Using UNION to find references from other tables

这是我的代码:

if(isset($_GET['num'])) {
$num = $_GET['num'];

$result = mysql_query("SELECT * FROM connectors WHERE part_num = '$num' UNION SELECT * FROM adapters WHERE part_num = '$num' UNION SELECT * FROM components WHERE part_num = '$num'"); }

如有任何帮助,我们将不胜感激,所以提前致谢 =)

最佳答案

您可能应该有第四个表 Parts,它标识每个 part_num 已分配给哪个类型表。但是,如果没有它,您仍然可以通过外部连接获得您想要的东西(虽然很浪费):

SELECT * FROM
connectors
LEFT JOIN adapters USING(part_num)
LEFT JOIN components USING(part_num)
WHERE
part_num = ?

请注意,我使用了 ?,因为您确实应该使用准备好的语句:如果您不知道为什么,或者它们是什么,请阅读 Bobby Tables .

关于php - 如何搜索多个 mySQL 表以找到一个特定的行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10358313/

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