在 php 查询中连接 3 个表有困难

2023-12-04

我的数据库有 3 个表,我希望在选择查询中访问,但我似乎无法让它工作。从 2 个表中进行选择效果很好,所以我知道除了从 3 个表中进行选择的代码之外,其他一切都正常工作。我的数据库已在 PHPmyadmin 上创建

表格如下:

论坛回复

  • reply_id
  • topic_id
  • user_id
  • 回复文本
  • 回复日期

论坛主题

  • topic_id
  • 类别_id
  • user_id
  • 主题标题
  • 主题_描述
  • 主题日期

users

  • user_id
  • username

这是我尝试使用的代码,显示了我希望选择的字段:

    $queryreply = "SELECT forum_replies.reply_id, forum_replies.topic_id, forum_replies.user_id,
                       forum_replies.reply_text, forum_replies.reply_date, users.user_id, users.username
                       forum_topics.topic_id,forum_topics.topic_title, forum_topics.topic_date
                       FROM forum_replies
                       JOIN forum_topics
                       ON forum_replies.topic_id = forum_topics.topic_id
                       JOIN users
                       ON forum_replies.user_id = users.user_id

                       ";


        $result = mysql_query($queryreply) or die (mysql_error());
        $row = mysql_fetch_array($result); 

代码中的示例将不胜感激。谢谢


使用此查询:

SELECT a.reply_text, a.reply_date, b.topic_title, c.username
FROM forum_replies a
LEFT JOIN forum_topics b ON a.topic_id=b.topic_id
LEFT JOIN users c ON a.user_id=c.user_id
// apply WHERE, ORDER, GROUP if needed

除了语法错误之外,您还应该使用LEFT JOIN和您的情况下的表别名。


要同时显示主题创建者的用户名,您可以将查询调整为以下内容:

SELECT a.reply_text, a.reply_date, b.topic_title, c.username AS reply_user, (SELECT username FROM users WHERE user_id=b.user_id) AS topic_creator
FROM forum_replies a
LEFT JOIN forum_topics b ON a.topic_id=b.topic_id
LEFT JOIN users c ON a.user_id=c.user_id
// apply WHERE, ORDER, GROUP if needed
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 php 查询中连接 3 个表有困难 的相关文章

  • 作为数据流写入 div

    考虑写入 div 的 AJAX 调用 recent req post result php d data function returnData content html returnData PHP 脚本位于result php执行一些需
  • 如何将数据插入 Microsoft Access 数据库?

    我正在尝试将数据插入 Microsoft Access 数据库 我将数据插入到 Access 数据库中 但只有第一次和第二次显示我插入的数据 当我重建应用程序时 我插入的数据消失了 我不知道他们去了哪里并且没有出现 我使用 C 和 NET
  • 不使用窗口函数实现 SQL 查询

    我读过 可以通过创造性地使用连接等来实现在 SQL 窗口函数中可以执行的任何操作 但我不知道如何实现 我在这个项目中使用 SQLite 它目前没有窗口函数 我有一个有四列的表 CREATE TABLE foo id INTEGER PRIM
  • PHP:如何获取
    中的名称值

    有没有办法获取form标签中name属性的值 我正在使用 PHP 但在 中没有看到它 POST 有没有办法获取form标签中name属性的值 我正在使用 PHP 但在 POST 中没有看到它 不 表单的名称属性永远不会设置为作为 POST
  • 使用 TCPDF PHP 库横向显示的图像

    我正在使用 TCPDF PHP 库生成包含照片的 PDF 文档 由于某种原因 某些照片在我的计算机和网络上正确显示 但当我将该图像放入 PDF 中时 它似乎是横向的 这只发生在某些图像上 大多数图像显示正确 下面是在 PDF 中横向显示的示
  • SQL,帮助进行有关用户年龄的小查询

    我有一个包含注册用户的表 其中我将年份保存为 varchar 值 只是因为我只花了一年 我想创建包含年龄的饼图 以显示哪些用户更有可能注册 下面的查询给出了表中出现超过 5 次的用户年龄计数 以避免结果过小 虽然这些小结果低于 having
  • 如何在 PHP 中修剪定界文档(长字符串)中的每一行

    我正在创建一个 PHP 函数 可以修剪长字符串中的每一行 例如
  • 定义我自己的 BASE_PATH 与 set_include_path?

    我了解了函数set include path 一直以来 我在config php文件中定义了一个常量 define BASE PATH var www mywebsite public html 在所有后续的 php 文件中 我会像这样包含
  • 使用 PKCS1 生成私钥 RSA

    有没有办法在 PHP 中通过 OpenSSL 生成私钥openssl pkey 新 http php net manual en function openssl pkey new php在 RSA 和 PKCS1 中 如果您的意思是带有
  • Doctrine 生成实体命名空间问题?

    好吧 我对原则有最后一个问题 生成 实体命令 我运行以下命令 并得到预期的文件 src MyNamespace Bundle MyNamespaceBundle Resources config doctrine metadata orm
  • 寻找多列索引的最佳顺序

    假设我有一个包含两个索引的表 一个位于 a 列 一个位于 a b 和 c 列 我注意到 根据索引定义中列的顺序 MySQL 可能最终使用单列索引而不是多列索引 即使多列索引中的所有三列都在 ON 中引用JOIN 的一部分 这有点引出了一个问
  • 获取MySql中重复行的列表

    我有一张这样的桌子 ID nachname vorname 1 john doe 2 john doe 3 jim doe 4 Michael Knight 我需要一个查询 该查询将从具有相同 nachname 和 vorname 的记录
  • 使用 PHP 比较两个字符串的相似度

    嘿伙计们 我想寻求一些解决方案 现在我有字典了单词 txt 这里有一些例子 happy laugh sad 我有俚语字符串 hppy 我想要搜索和匹配那个俚语字符串我的字典这意味着它将返回 happy 因为这些字符串参考 快乐 in 字典
  • 在php中将数组写入文件并获取数据

    我有一个数组 使用后如下所示print r Array 0 gt Array 0 gt piklu name gt piklu 1 gt Array 0 gt arindam name gt arindam 2 gt Array 0 gt
  • 使用 SQL Server 作为具有多个客户端的数据库队列

    给定一个充当队列的表 如何最好地配置表 查询 以便多个客户端同时处理队列 例如 下表指示了工作人员必须处理的命令 当worker完成后 它会将处理后的值设置为true ID COMMAND PROCESSED 1 true 2 false
  • 如何在 PHP 中使用 foreach 循环仅回显一次特定的多个相同记录?

    我在 PHP 中使用 foreach 循环得到这些输出 现在 foreach 内部的输出如下所示 PHP代码 table thead tr th ACCOUNT NUMBER th th CATEGORY th th AMOUNT th t
  • facebook og:image 不会从与 URL 相呼应的 php 文件中获取图像

    facebook OG 从回显 URL 获取图像 这可能吗 因为我包含了一个 php 文件 它将回显图像 URL 但是当我签入共享调试器时 内容为空 我的元标签 gt 和 php 文件
  • MS-Access 查询中的语法错误(缺少运算符)

    以下查询给了我 missing operator 语法错误 所需的输出是表中数据的组合 dbo tbl 和意见 vw 我用过的所有钥匙都存在 有任何想法吗 SELECT dbo tbl BOD fpartno AS PartNumber d
  • 如何在一列中存储数组或多个值

    运行 Postgres 7 4 是的 我们正在升级 我需要将 1 到 100 个选定项目存储到数据库的一个字段中 98 的情况下 只会输入 1 个项目 而 2 的情况下 如果是这样的话 会输入多个项目 这些项目只不过是文本描述 截至目前 长
  • html 下钻下拉所选值未插入 MYSQL

    我有两个下拉列表 首先从数据库下拉填充 根据第一个下拉列表的选定值从数据库填充第二个下拉列表 document ready function c change function var c1 c selected text if c1 aj

随机推荐

  • 如何创建仅存在于 ResourceDictionary 上下文中的样式

    如何创建仅存在于 ResourceDictionary 上下文中但不存在于包含该 ResourceDictionary 的控件上下文中的样式 例如 我希望能够拥有一个如下所示的 ResourceDictionary
  • C++中的文件按修改时间排序

    C 中如何按修改时间对文件进行排序 std sort需要一个比较功能 它以向量作为参数 我想根据修改对文件进行排序 是否已经有比较函数或 API 可用于实现此目的 是的 您可以使用std sort并告诉它使用自定义比较对象 如下所示 inc
  • 课程完成按什么顺序排列其结果?

    示例 我创建一个新单元 声明一个具有多种方法 如构造函数 析构函数 method1 method2 method3 的类 然后按 Ctrl Shift C IDE 自动创建所有方法体 但顺序是混合的 并且与接口部分中声明的顺序不同 现在 这
  • 如何获取csc.exe路径?

    有没有办法获取最新 NET Framework 的 csc exe 路径 该文件通常位于 c Windows Microsoft NET Framework vX X XXX 但问题是可以安装多个版本 同时存在 32 位和 64 位版本 有
  • 论坛标签。实施它们的最佳方法是什么?

    我正在构建一个论坛 我想使用论坛风格的标签来让用户以有限的方式格式化他们的帖子 目前我正在使用正则表达式来执行此操作 根据这个问题 如何使用C 正则表达式模拟论坛标签 问题是正则表达式不区分嵌套标签 以下是我如何实现此方法的示例 publi
  • 来自 asp.net ASHX 页面的 FullCalendar 事件未显示

    我一直在尝试使用以下代码调用 ASHX 页面 将一些事件添加到 fullCalendar 中 页面脚本
  • 如何在 Ruby 中处理组合 []+= 以实现自动激活哈希?

    为了实现 Ruby 哈希的自动激活 可以使用以下类 class AutoHash lt Hash def initialize args super update update index args 0 update args 0 upda
  • 如何将 js 模块导入 TypeScript 文件?

    我有一个量角器项目 其中包含这样一个文件 var FriendCard function card var webElement card var menuButton var serialNumber this getAsWebEleme
  • 定义一个指针来引用相同的变量名引用?

    在 Objective C 中 我真的无法理解这一点 void x x 我的理解是 声明一个泛型指针 因此类型为 void 指针变量名为 x 该指针指向变量的引用 应该已经声明了 但事实并非如此 名为 x 让我很困惑 判断该声明是否成立 v
  • 将 `__getattr__` 方法添加到现有对象实例[重复]

    这个问题在这里已经有答案了 我希望这个工作 import types def new getattr self args kwargs return 2 class A def init self pass a A a getattr ty
  • 使用 rowspan 时 IE 设置行高不起作用

    只是想知道为什么下面的 HTML 不起作用 基本上 当我在表行上设置 rowspan 时 IE 似乎会忽略我设置的高度 table border 1 cellpadding 0 cellspacing 0 width 100 tr td h
  • 如何在 HLSL 中使用巨大数组(错误 X4505)

    当我尝试编译时出现错误 X4505 临时寄存器和可转位临时寄存器的总和超出限制 共 4096 个 然而我的shader确实工作于特效作曲家 它崩溃的原因可能是因为我使用了一个非常大的数组 因为我使用的是行进立方体 const static
  • 如何修复我的 Android Soundboard 应用程序的“Google 移动广告 SDK 初始化不正确”问题

    将 Google 广告横幅添加到我的 Android Studio 项目不起作用 如果有人能帮助我 我将非常非常感激 我只是不明白我做错了什么 我遵循的教程是 https www youtube com watch v w7muIkMYE
  • 在 Android 中创建一个空位图并通过画布进行绘制

    我想创建一个空位图并将画布设置为该位图 然后在位图上绘制任何形状 这可能比您想象的更简单 int w WIDTH PX h HEIGHT PX Bitmap Config conf Bitmap Config ARGB 8888 see o
  • 换行符
    未按预期呈现

    知道为什么我的果岭上方有一条细细的灰线吗 and how to get rid of it Thanks https jsfiddle net Lc7gym88 hr border bottom 4px solid 469551 width
  • JTable自定义单元格渲染器焦点问题

    我有一张这样的桌子 第二列使用 JTextField 渲染器 第三列使用基于 JPasswordField 的渲染器和编辑器 看起来不错 但问题是我们必须输入值并且必须按 ENTER 在该图像中 我输入了密码 但没有按 Enter 键 因此
  • VB.NET 根据 XSD 文件验证 XML 文件并解析 xml

    我需要做什么 我需要根据 XSD 文件 传递文件路径 位置 验证 XML 文件 传递文件路径 位置 我需要检查它的格式是否正确 没有非法字符 并且它具有 XSD 中定义的所有标签 即没有丢失标签 它与 xsd 中定义的数据类型匹配 完成之后
  • ARM统一汇编语言语法和解析器?

    是否有 ARM 统一汇编语言的公开语法或解析器 如ARM 架构参考手册 A4 2 本文档使用 ARM 统一汇编语言 UAL 此汇编语言语法为所有 ARM 和 Thumb 指令提供了规范形式 UAL 描述了每条指令的助记符和操作数的语法 只是
  • 如何正确使用KeyPressEvent

    尝试为我的表单创建热键 code private void FormMain KeyPress object sender KeyPressEventArgs e if e KeyChar char Keys Enter MessageBo
  • 在 php 查询中连接 3 个表有困难

    我的数据库有 3 个表 我希望在选择查询中访问 但我似乎无法让它工作 从 2 个表中进行选择效果很好 所以我知道除了从 3 个表中进行选择的代码之外 其他一切都正常工作 我的数据库已在 PHPmyadmin 上创建 表格如下 论坛回复 re