我有一组连接表,我通过以下方式查询:
$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"
}
因为现在我想在同一个while循环中找到ID_SFE
的值,我尝试在SELECT DISTINCT列表中添加ID_SFE
以及名称,网站,电子邮件,但是,我得到ERROR: There was a problem with the query.
如何获取ID_SFE
的值并将其存储到while循环中的另一个变量?
由于
答案 0 :(得分:1)
您不能简单地将ID_SFE添加到要检索的字段列表中,因为此类字段存在于ad和ef表中。
您可以添加ad.ID_SFE和/或ad.ID_SFE字段 - 在指定字段时需要指定表名,因为字段需要明确引用。