-2

我有一组连接表,我正在通过以下方式查询:

$query = $this->mysqli->query("
    SELECT DISTINCT name, website, email
    FROM sfe
    INNER JOIN ef ON sfe.ID_SFE = ef.ID_SFE
    INNER JOIN f  ON   f.ID_F   = ef.ID_F
    INNER JOIN ad ON  ad.ID_SFE = ef.ID_SFE
    WHERE name         LIKE '%{$sanitized}%' OR 
          website       LIKE '%{$sanitized}%' OR
          business_name LIKE '%{$sanitized}%' OR
          email         LIKE '%{$sanitized}%'
");

其中ID_SFE是表的主键,sfe也是表的外键ef

当我进行此查询时,我会使用以下内容回显结果列表:

while ($result = $query->fetch_object()) {
    $query_result = $result->"name";

    echo "$query_result"
}

因为现在我还想ID_SFE在同一个while循环中找到值,所以我尝试将ID_SFE名称、网站、电子邮件一起添加到SELECT DISTINCT列表中,但是,我得到了ERROR: There was a problem with the query.

如何获取的值ID_SFE并将其存储到 while 循环内的另一个变量中?

谢谢

4

1 回答 1

1

您不能简单地将 ID_SFE 添加到要检索的字段列表中,因为 ad 和 ef 表中存在此类字段。

您将能够添加 ad.ID_SFE 和/或 ad.ID_SFE 字段 - 请注意,您需要在指定字段时指定表名,因为需要明确引用这些字段。

于 2016-02-07T05:34:03.563 回答