Php 真的对MySQL的加入感到困惑吗

Php 真的对MySQL的加入感到困惑吗,php,mysql,join,Php,Mysql,Join,我自己也一直在努力想办法,但网上的所有教程要么不起作用,要么写了一半。。。没有人解释你是如何回应内容的 现在我正在拉一张流行搜索表。。。我想显示名称,然后在下面显示类别名称。但问题是,searches表将类别存储为ID而不是name 所以我需要使用一个连接,它将“热门搜索”表中的“category\u id”列链接到“categories”表中的“id”列。。。然后显示“类别”表中的“名称”列以显示类别名称 没有人给出关于如何回显内容的信息,因为两个表都有同名的列,我实际上该怎么做?我不明白 这

我自己也一直在努力想办法,但网上的所有教程要么不起作用,要么写了一半。。。没有人解释你是如何回应内容的

现在我正在拉一张流行搜索表。。。我想显示名称,然后在下面显示类别名称。但问题是,searches表将类别存储为ID而不是name

所以我需要使用一个连接,它将“热门搜索”表中的“category\u id”列链接到“categories”表中的“id”列。。。然后显示“类别”表中的“名称”列以显示类别名称

没有人给出关于如何回显内容的信息,因为两个表都有同名的列,我实际上该怎么做?我不明白

这是我当前的查询:

SELECT * FROM popular_search ORDER BY `hits` DESC LIMIT 9
这是我当前的echo,但我需要用另一个表中的类别名称替换id字段:

<?php echo $item['name']; ?>
<?php echo $item['category_id']; ?>

试试这个:

SELECT 
* 
FROM 
popular_search ps
inner join categories c on (ps.category_id = c.id)

ORDER BY `hits` DESC LIMIT 9
试试这个:

SELECT 
* 
FROM 
popular_search ps
inner join categories c on (ps.category_id = c.id)

ORDER BY `hits` DESC LIMIT 9

在SELECT中指定列名(而不是SELECT*)


给出列名别名(即,选择a.Column1作为Fred,Fred作为别名)

在选择中指定列名(而不是选择*)


给出列名别名(即,选择a.Column1作为Fred,Fred作为别名)

使用
作为
应该适合您:

SELECT
    ps.*,
    ca.name as `category_name`
FROM
    `popular_search` as `ps`
INNER JOIN
    `categories` as `ca`
ON
    ps.category_id = ca.id
ORDER BY
    ps.hits DESC
LIMIT 9
现在,它将以
类别\u名称
的形式出现在您的数组中


您可以在此处阅读更多内容:

使用
,因为
应该适合您:

SELECT
    ps.*,
    ca.name as `category_name`
FROM
    `popular_search` as `ps`
INNER JOIN
    `categories` as `ca`
ON
    ps.category_id = ca.id
ORDER BY
    ps.hits DESC
LIMIT 9
现在,它将以
类别\u名称
的形式出现在您的数组中


您可以在此处阅读更多内容:

这正是您要寻找的东西


试试看

这正是你要找的东西


试试看

我想,您需要知道表别名。因此,您可以对两个表使用两个别名[新名称],并在select查询中分别引用它们。 因为有很多例子,我不会在这里重写。请看这里:

我想,您需要知道表别名。因此,您可以对两个表使用两个别名[新名称],并在select查询中分别引用它们。 因为有很多例子,我不会在这里重写。请看这里:

您的查询中没有任何连接…如果您想了解连接,您可以阅读;如果您想了解有关连接的所有信息,请阅读您的查询中没有任何连接…如果您想了解连接,您可以阅读,如果你想了解关于加入的所有信息,请阅读kuldeep:我在这里绝不是要指责——我只是说,让新开发人员查看像W3Schools这样的网站,并让他们认为它是一个有效的来源,这不是最佳做法,因为他们的许多内容都有缺陷(请参阅我第一条评论中的链接)kuldeep:我在这里决不是要指责——我只是说,让新开发人员查看像W3Schools这样的网站,并让他们认为它是一个有效的来源,这不是最好的做法,因为他们的很多内容都有缺陷(见我第一条评论中的链接)。谢谢!你是我绝对的英雄。我已经想了好几天了!!!祝你节日快乐;)非常感谢。你是我绝对的英雄。我已经想了好几天了!!!祝你节日快乐;)