Php 需要跨两个数据库查询的帮助(第一次尝试这样做)

Php 需要跨两个数据库查询的帮助(第一次尝试这样做),php,mysql,Php,Mysql,我有两个数据库需要使用,db_站点和db_论坛(这些是通用名称,仅供参考) db_站点有一个名为main news的表,该表有一个forumurl字段,其中包含论坛线程id和一个views字段,其中包含数据库中文章条目的当前页面视图。db_forum有一个名为forum_threads的表,该表有一个tid字段和一个回复字段 我需要做两件事,一件只使用回复,另一件使用回复和视图。我假设,一旦前者被解决,后者只不过是增加了一些额外的部分,所以我现在关心前者 由于这两个表位于不同的数据库中,我不确定

我有两个数据库需要使用,db_站点和db_论坛(这些是通用名称,仅供参考)

db_站点有一个名为main news的表,该表有一个forumurl字段,其中包含论坛线程id和一个views字段,其中包含数据库中文章条目的当前页面视图。db_forum有一个名为forum_threads的表,该表有一个tid字段和一个回复字段

我需要做两件事,一件只使用回复,另一件使用回复和视图。我假设,一旦前者被解决,后者只不过是增加了一些额外的部分,所以我现在关心前者

由于这两个表位于不同的数据库中,我不确定应该如何处理。我使用的登录名可以同时访问这两种登录名(AFAIK),所以这不是问题,更多的是涉及的语法。我想做的事情可能是这样的吗

SELECT
    db_forum.forum_threads.replies AS replies
FROM
    `db_forum.forum_threads` AS f,
    `db_site.main-news` AS s
WHERE
    f.tid = s.forumurl

这是一个粗略的猜测,从我在网上找到的关于做这种类型的查询。感谢您的帮助。:)

首先,您应该正确缩进SQL代码。那条长线几乎看不懂

SELECT
    db_forum.forum_threads.replies AS replies
FROM
    `db_forum.forum_threads` AS f,
    `db_site.main-news` AS s
WHERE
    f.tid = s.forumurl
然后,使用表别名“f”和“s”。你介绍了它们,所以你必须使用它们:

SELECT
    f.replies AS replies
FROM
    `db_forum.forum_threads` AS f,
    `db_site.main-news` AS s
WHERE
    f.tid = s.forumurl
最后,您应该删除不必要的引用:

SELECT
    f.replies AS replies
FROM
    db_forum.forum_threads AS f,
    db_site.main-news AS s
WHERE
    f.tid = s.forumurl

如果字段的名称表示其功能,则f.tid引用标识列,而s.forumurl则不引用。通常,在这种情况下,s.formurl将是一个外键。猜一猜。

我把第三段中的“评论”改为“回复”,因为我假设你指的是
db\u论坛。论坛。回复。如果不正确,请告诉我。还编辑了标题,以明确这是一个您遇到问题的跨数据库查询。:)你可以把标题缩短为“跨两个数据库查询”。@dja:是的,意思是回复。还应用了vog的title fix(查询而不是查询),并修复了代码缩进。很抱歉没有缩进,在我打开的PHP代码中,我只在一行上看到了它,没有注意到它会出现的格式问题。不确定是否使用f。一开始,因为我以前从未尝试过这样的东西——很高兴知道它可以像那样工作。今晚晚些时候我将试用这段代码,并检查它是否有效(如果有效,我将把它标记为答案)。这些指导原则通常有助于说明问题。当脚本格式标准化时,许多错误会弹出。少校加号。